ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:247.94KB ,
资源ID:1752172      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1752172.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(聊天室课程设计报告.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

聊天室课程设计报告.docx

1、聊天室课程设计报告网络课程设计 设计报告题 目:基于TCP SOCKET的JAVA聊天室院系名称: 计算机学院 专业名称: 网络工程班 级: 学生姓名: 学号(8位): 指导教师: 设计起止时间:2011年6月20日2011年7月1日第一章 功能分析1.1 需求分析人们日常生活中越来越多地使用聊天室这项应用来为自己的工作和学习服务。一个操作简单,界面友好、运行稳定的聊天室对于小型局域网的用户可以起到很好的交流作用。所谓聊天室就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过聊天室将自己融入整个主流社会中。根据目前使用聊天室的用户需求显示,用户对于聊天室主要有以下几点要求:(1).

2、与聊天室成员一起聊天。(2). 可以与聊天室成员私聊。(3). 可以改变聊天内容风格。(4). 用户注册(含头像)、登录。(5). 服务器监控聊天内容。(6). 服务器过滤非法内容。(7). 服务器发送通知。(8). 服务器踢人。(9). 保存服务器日志。(10).保存用户聊天信息。该简易聊天室是为许多喜爱聊天的用户开发设计的,和许多大型的网络聊天室相比该小聊天室功能比较简单,但能实现基本的聊天功能,点对多、点对点聊天和基本的用户功能,登录、查看在线用户等。1.2 软件功能描述(1)、户设置:用户自定义自己的登录名,成功设置后,服务端能接收到新设置的用户名。(2)、登录功能:在服务端开启的情况

3、下,用户可以以自己自定义或者默认的登录名和登录地址端口登录到客户端,并能在服务器端显示登录状态。(3)、公聊:用户可以与“所有人”聊天,在线用户可正常接收并正确显示公聊消。(4)、私聊:用在线用户和其他用户聊天。记录对于聊天室的其他用户是不可见的。(5)、聊天心情:用户在聊天的过程中可以选择相应的心情来表达自己的情感。(6)、系统消息:服务端运行,为每一个用户都能接收服务器端发送的信息提示信息。(7)、用户的状态.每一个客户端用户都可以实时看到目前其他在线用户的状态。(8)、用户剔除:用户可以被系统剔除,并重新登记登录名和地址。(9)、用户退出:用户可以在正常情况下退出聊天室。(10)、服务端

4、控制:服务端开启的情况下,用户才能登陆成功和聊天;用户设置的地址端口也必须与服务端的侦听端口一致,否则不能登录。第二章 主要模块描述及流程图2. 1 模块介绍 本聊天室分为聊天室服务端和聊天室客户端,服务端与客户端之间通过套接口Socket(TCP)连接。在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类.Socket,服务器采用多线程以满足多用户的请求,并通过创建一个AppSocket来监听来自客户的连接请求,默认IP地址为:127.0.0.1默认端口为8888。2.1.1服务端模块图 聊天室服务端模块图 3-1-1端口服务:输入要侦听的端口,默认为8888。启动

5、服务:启动服务器,并开始在设置的端口中侦听,客户端用户可以登录并聊天。停止服务:关闭服务器,侦听结束。客户端用户不能再聊天。发送系统消息:服务器端给所有人或者个别用户发送消息。消息显示:可以显示所有用户的聊天记录,和上线、下线信息。退出服务器:退出程序,并停止服务。2.1.2客户端模块图用户设置:用户可以设置自己的用户名进行聊天。连接设置:用户可以设置自己的服务器的IP,端口号,默认地址为:127.0.0.1:8888。用户登录:在聊天室服务端已开启的情况下,用户才能登录,之后才能开始聊天。用户注销:退出聊天,可以继续修改用户设置和连接设置。发送和接收聊天信息:用户可以用户发送信息,并能看送给

6、自己或所有人的消息。退出:关闭所有聊天并退出客户端。2. 2 流程图 设置侦听端口 默认端口:8888 设置用户名 默认连接地址或用户名 设置IP地址和端口2. 3 服务器客户端关系图(1). 聊天室服务器端设计: 2.3.1聊天室服务器端设计聊天室服务端主要包括4个文件,它们的功能如下:(1)AppServer .java 服务器端进行监听客户端进行服务器的启动,以及端客户进行处理用户退出。(2)ServerFrame 为服务器端管理界面,负责用户帐号信息保存和用户在线的状态和相关服务器端口的信息以及访问的方式。(3)serverChat.java 负责对用户信息的处理包括公聊和私聊的信息的

7、发送以及将聊天信息的序列化对象填加到保存聊天信息的记事本中。2.3.2聊天室客户端设计聊天室客户端主要包括6个文件,其主要功能如下:(1).ChatClient.java 为客户端程序启动类,负责客户端的启动和退出。(2).Login.java 为客户端程序登录界面,负责用户帐号信息的验证与反馈。(3).Register.java 为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。(4).ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。(5).Windowclose 为ChatRoom.java的内部类,负

8、责监听聊天室界面的操作,当用户退出时返回给服务器信息。(6).Clock.java 为客户端程序的一个小程序,实现的一个石英钟功能。第三章 主要程序代码和界面展示3.1 服务器端启动代码和界面 3.1.1 服务器启动代码public class AppServer extends Thread private ServerSocket serverSocket; private ServerFrame sFrame; private static Vector userOnline = new Vector(1, 1); private static Vector v = new Vector

9、(1, 1); / 创建服务器 启动服务监听8888端口 public AppServer() sFrame = new ServerFrame(); try serverSocket = new ServerSocket(8888); / 获取服务器的主机名和IP地址 InetAddress address = InetAddress.getLocalHost(); sFrame.txtServerName.setText(address.getHostName(); sFrame.txtIP.setText(address.getHostAddress(); sFrame.txtPort.

10、setText(8888); catch (IOException e) fail(e, 不能启动服务!); sFrame.txtStatus.setText(已启动.); this.start(); / 启动线程 / 退出服务器,退出消息 public static void fail(Exception e, String str) System.out.println(str + 。 + e); /监听客户的请求,当有用户请求时创建 Connection线程 public void run() try while (true) / 监听并接受客户的请求 Socket client = s

11、erverSocket.accept(); new Connection(sFrame, client, userOnline, v); / 支持多线程 / System.out.println(userLength:+userLength); atch (IOException e) fail(e, 不能监听!); /服务器 public static void main(String args) new AppServer();3.1.2 服务器启动界面服务器登录界面图 4-1-23. 2 注册主要代码及界面3.2.1 注册主要代码public class Register extends

12、 JFrame implements ActionListenerprivate JComboBox comboBox; private static final long serialVersionUID = 9019746127517522180L; JPanel pnlRegister; JLabel lblUserName,lblGender,lblAge; JLabel lblPassword,lblConfirmPass,lblEmail,logoPosition; JTextField txtUserName,txtAge,txtEmail; JPasswordField pwd

13、UserPassword,pwdConfirmPass; JRadioButton rbtnMale,rbtnFemale; ButtonGroup btngGender; JButton btnOk,btnCancel,btnClear; String strServerIp; final JLabel headLabel = new JLabel(); /用于将窗口用于定位 Dimension scrnsize; Toolkit toolkit=Toolkit.getDefaultToolkit(); /构造方法 public Register(String ip) super(Happy

14、Chat聊天室注册窗口); strServerIp=ip; pnlRegister=new JPanel(); this.getContentPane().add(pnlRegister); lblUserName=new JLabel(用 户 名:); lblGender=new JLabel(性 别:); lblAge=new JLabel(年 龄:); lblPassword=new JLabel(密 码:); lblConfirmPass=new JLabel(确认密码:); lblEmail=new JLabel(电子邮件:); txtUserName=new JTextField(30); txtEmail=new JTextField(30); txtAge=new JTextField(10); pwdUserPassword=new JPasswordField(30); pwdConfirmPass=new JPasswordField(30); rbtnMale=new JRadioButton(男,true); rbtnFemale=new JRadioButton(女); btngGender=new ButtonGroup(); btnOk=new JButton(确定(O); btnOk.setMnemonic(O); btnOk.se

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1