基于CS简单聊天程序课程设计报告

上传人:wd****8 文档编号:269188931 上传时间:2022-03-22 格式:DOC 页数:19 大小:72KB
返回 下载 相关 举报
基于CS简单聊天程序课程设计报告_第1页
第1页 / 共19页
基于CS简单聊天程序课程设计报告_第2页
第2页 / 共19页
基于CS简单聊天程序课程设计报告_第3页
第3页 / 共19页
基于CS简单聊天程序课程设计报告_第4页
第4页 / 共19页
基于CS简单聊天程序课程设计报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于CS简单聊天程序课程设计报告》由会员分享,可在线阅读,更多相关《基于CS简单聊天程序课程设计报告(19页珍藏版)》请在金锄头文库上搜索。

1、-计算机网络课程设计任务书 学 院计算机与信息工程学院专 业网络工程课程名称计算机网络题 目基于C/S模式的简单聊天程序完成期限自2016年6月13日至2016年6月26日共两周容及任务一、工程的目的利用socket。实现客户与效劳器间的信息互通。二、工程任务的主要容和要求1用户聊天室具有群发,私聊,输入昵称与端口号等根本设置。点击连接按钮实现与效劳器的连接。点击断开按钮实现与效劳器的断开连接。2效劳器聊天室具有启动效劳器,停顿效劳器,显示当前在线的用户功能。点击启动按钮实现与效劳器的连接。点击停顿按钮实现与效劳器的断开连接。3设计一个登录程序。验证通过后才能进入聊天室。4当效劳器与客户机连接

2、成功后。能够互相承受和发送消息。当多个客户机启动时,效劳器会创立子线程处理对应线程的消息。三、工程设计研究思路(1)设计步骤:先画出聊天室的模型,布局。(2)设计要点:设计主类与子类,分别实现不同的功能(3)主要技术分析:需要掌握socket通信,swing和awt,io的简单应用.(4)解决思路:先按照草稿图设计出聊天室布局。再写各个类的功能。简单测试与修改代码。最后完善。四、具体成果形式和要求见第一局部进度安排起止日期工作容设计聊天室的模型,布局编写代码,初步实现聊天程序完善代码,优化界面,完成任务主要参考资料1生慧.Java面向对象程序设计第二版M.:中国水利水电,2013.2万常选.数

3、据库系统原理与设计第二版M.:清华大学,2012.3钧,希仁.计算机网络教程第四版M.:人民邮电,2014.4刚.疯狂JAVA讲义M.(第三版.:电子工业,2014. 5耿祥义、跃平.Java2实用教程M.(第三版.:清华大学, 2006. 6海杰.Java编程设计M.:中国铁道,2006.指导教师意见签字: 年月日系教研室主任意见签字: 年月日基于C/S模式的简单聊天程序设计说明书学院名称:计算机与信息工程学院班级名称:网络工程142学生: 三学 号:2014211540题 目:基于C/S模式的简单聊天程序指导教师姓 名: 海 宝起止日期:目录一、选题背景1二、方案论证1三、过程论述23.1

4、 效劳器端23.2 客户机端8四、结果分析15五、结论17. z.-. z.-第一局部:正文局部一、选题背景使用Socket实现网上聊天功能。用户可以通过客户端连接到效劳器端并进展网上聊天。聊天时可以启动多个客户端。效劳器端启动后,接收客户端发来的用户名和密码验证信息。验证通过则以当前的聊天客户列表信息进展响应;此后接收客户端发来的聊天信息,转发给客户端指定的聊天客户即私聊或所有其他客户端;在客户断开连接后公告其退出聊天系统的信息。客户端启动后在GUI界面接收用户输入的效劳器端信息、账号和密码等验证客户的身份。验证通过则显示当前系统在线客户列表。客户可以与指定对象进展私聊,也可以向系统中所有在

5、线客户发送信息。二、方案论证基于C/S的简单聊天室可以实现用户与效劳器间,效劳器与多个用户间的通信。聊天室程序通常需要完成以下一些根本功能:(1)登录聊天室;(2)启动效劳器;(3)关闭效劳器;(4)用户之间的聊天;(5)退出聊天室。本系统其体功能需求如下:(1)聊天室管理员经登录界面登录到管理界面,即系统的效劳器端。用户经登录界面进入聊天大厅。 (2)不管是管理员还是用户都需要在登录界面输入正确的用户名和密码后才可以登录到各自的界面中去。 (3)系统的两个主要界面都是为方便管理员和用户操作的。首先,管理员进入到管理界面后可以方便的启动/停顿效劳器,看到在线用户的信息和聊天信息。用户进入到聊天

6、大厅中可以聊天,查看效劳器状态。 (4)一个用户退出聊天室对其他用户不能产生影响,而效劳器断开与客户端的连接则所有的用户都失去与效劳器的连接。(5)用户的聊天信息录入,重写,发送,接收方便,快捷。(6)效劳器状态,聊天信息和在线用户人数及时刷新。(7)聊天室系统运行稳定、平安性高、三、过程论述3.1 效劳器端1首先实现的是效劳器开场工作界面,如图3-1所示:图3-1 代码如下:public ChatServer() try System.out.println(效劳器开场工作.); server=new ServerSocket(port);/初始化效劳器套接字 while (true) so

7、cket=server.accept();/等待连接 System.out.println(socket.getInetAddress()+连接n);/得到客户机地址 Client client=new Client(socket);/实例化一个客户线程其中线程Client中Socket,这里的Socket只是起个过渡作用 clients.add(client);/增加客户线程到向量中 client.start();/启动线程 notifyChatRoom();/监视聊天室连接变化 catch(E*ception e*) e*.printStackTrace(); 2监视聊天室连接情况,并显示

8、出来,如图3-2所示:图3-2代码如下:public static void notifyChatRoom() StringBuffer newUser=new StringBuffer(newUser); for(int i =0;iclients.size();i+) Client c=(Client)clients.elementAt(i); newUser.append(:+c.name); sendClients(newUser); public static void sendClients(StringBuffer message) for(int i =0;i0) Client

9、 client=(Client)clients.firstElement(); try client.socket.close(); catch(IOE*ception e) e.printStackTrace(); clients.removeElement(client); /移出客户端 public static void disconnect(Client c) / 断开客户端 try System.err.println(c.ip+断开连接n); catch (E*ception e*) e*.printStackTrace(); clients.removeElement(c);

10、c.socket = null; (3)再次是实现效劳器与客户机连接机制,如果有客户机申请连接,则为此客户机创立线程,代码如下:public ChatServer() try System.out.println(效劳器开场工作.); server=new ServerSocket(port);/初始化效劳器套接字 while (true) socket=server.accept();/等待连接 System.out.println(socket.getInetAddress()+连接n);/得到客户机地址 Client client=new Client(socket);/实例化一个客户线

11、程其中线程Client中Socket,这里的Socket只是起个过渡作用 clients.add(client);/增加客户线程到向量中 client.start();/启动线程 notifyChatRoom();/监视聊天室连接变化 catch(E*ception e*) e*.printStackTrace(); public ChatServer() try System.out.println(效劳器开场工作.); server=new ServerSocket(port);/初始化效劳器套接字 while (true) socket=server.accept();/等待连接 System.out.println(socket.getInetAddress()+连接n);/得到客户机地址 Client client=new Client(socket);/实例化一个客户线程其中线程Client中Socket,这

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号