基于CS简单聊天程序课程设计资料

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

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

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

2、聊天室。(4)当服务器与客户机连接成功后。能够互相接受和发送消息。当多个客户机启动时,服务器会创建子线程处理对应线程的消息。三、项目设计(研究)思路(1)设计步骤:先画出聊天室的模型,布局。(2)设计要点:设计主类与子类,分别实现不同的功能(3)主要技术分析:需要掌握socket通信,swing和awt,io的简单应用.(4)解决思路:先按照草稿图设计出聊天室布局。再写各个类的功能。简单测试与修改代码。最后完善。四、具体成果形式和要求(见第一部分)进度安排起止日期工作内容6.13-6.18设计聊天室的模型,布局6.19-6.20编写代码,初步实现聊天程序6.21-6.26完善代码,优化界面,完

3、成任务主要参考资料1赵生慧.Java面向对象程序设计(第二版)M.北京:中国水利水电出版社,2013.2万常选.数据库系统原理与设计(第二版)M.北京:清华大学出版社,2012.3谢钧,谢希仁.计算机网络教程(第四版)M.北京:人民邮电出版社,2014.4李刚.疯狂JAVA讲义M.(第三版).北京:电子工业出版社,2014. 5耿祥义、张跃平.Java2实用教程M.(第三版).北京:清华大学出版社, 2006. 6刘海杰.Java编程设计M.北京:中国铁道出版社,2006.指导教师意见(签字): 年 月 日系(教研室)主任意见(签字): 年 月 日基于C/S模式的简单聊天程序设计说明书 学院名

4、称: 计算机与信息工程学院 班级名称: 网络工程142 学生姓名: 张 三 学 号: 2014211540 题 目: 基于C/S模式的简单聊天程序 指导教师 姓 名: 陈 海 宝 起止日期: 2016.6.13-2016.6.26 目录一、选题背景1二、方案论证1三、过程论述23.1 服务器端23.2 客户机端8四、结果分析15五、结论17第一部分:正文部分一、选题背景使用Socket实现网上聊天功能。用户可以通过客户端连接到服务器端并进行网上聊天。聊天时可以启动多个客户端。服务器端启动后,接收客户端发来的用户名和密码验证信息。验证通过则以当前的聊天客户列表信息进行响应;此后接收客户端发来的聊

5、天信息,转发给客户端指定的聊天客户(即私聊)或所有其他客户端;在客户断开连接后公告其退出聊天系统的信息。客户端启动后在GUI界面接收用户输入的服务器端信息、账号和密码等验证客户的身份。验证通过则显示当前系统在线客户列表。客户可以与指定对象进行私聊,也可以向系统中所有在线客户发送信息。二、方案论证基于C/S的简单聊天室可以实现用户与服务器间,服务器与多个用户间的通信。聊天室程序通常需要完成以下一些基本功能:(1)登录聊天室;(2)启动服务器;(3)关闭服务器;(4)用户之间的聊天;(5)退出聊天室。本系统其体功能需求如下:(1)聊天室管理员经登录界面登录到管理界面,即系统的服务器端。用户经登录界

6、面进入聊天大厅。 (2)不论是管理员还是用户都需要在登录界面输入正确的用户名和密码后才可以登录到各自的界面中去。 (3)系统的两个主要界面都是为方便管理员和用户操作的。首先,管理员进入到管理界面后可以方便的启动/停止服务器,看到在线用户的信息和聊天信息。用户进入到聊天大厅中可以聊天,查看服务器状态。 (4) 一个用户退出聊天室对其他用户不能产生影响,而服务器断开与客户端的连接则所有的用户都失去与服务器的连接。(5)用户的聊天信息录入,重写,发送,接收方便,快捷。(6)服务器状态,聊天信息和在线用户人数及时刷新。(7)聊天室系统运行稳定、安全性高、三、过程论述3.1 服务器端(1)首先实现的是服

7、务器开始工作界面,如图3-1所示:图3-1 代码如下: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,这里的Socket只是起个过渡作用

8、) clients.add(client);/增加客户线程到向量中 client.start();/启动线程 notifyChatRoom();/监视聊天室连接变化 catch(Exception ex) ex.printStackTrace(); (2)监视聊天室连接情况,并显示出来,如图3-2所示:图3-2代码如下:public static void notifyChatRoom() StringBuffer newUser=new StringBuffer(newUser); for(int i =0;iclients.size();i+) Client c=(Client)clien

9、ts.elementAt(i); newUser.append(:+c.name); sendClients(newUser); public static void sendClients(StringBuffer message) for(int i =0;i0) Client client=(Client)clients.firstElement(); try client.socket.close(); catch(IOException e) e.printStackTrace(); clients.removeElement(client); /移出客户端 public stati

10、c void disconnect(Client c) / 断开客户端 try System.err.println(c.ip+断开连接n); catch (Exception ex) ex.printStackTrace(); clients.removeElement(c); c.socket = null; (3)再次是实现服务器与客户机连接机制,如果有客户机申请连接,则为此客户机创建线程,代码如下:public ChatServer() try System.out.println(服务器开始工作.); server=new ServerSocket(port);/初始化服务器套接字

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

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

当前位置:首页 > 建筑/环境 > 施工组织

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