您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机网络课程大作业聊天系统
武汉理工大学计算机网络课程论文题目基于C/S模式的简单聊天程序作者学院信息工程学院专业电子信息工程学号指导教师李方敏二〇一六年四月十三日武汉理工大学信息工程学院课程论文诚信声明本人声明:所呈交的课程论文,是本人在指导老师的指导下,独立开展工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本课程论文不含任何其他个人或集体已经发表或创作过的作品成果。对本文工作做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。本科课程论文作者签名:二○一六年四月十三日课程论文成绩评定表质量评价指标(在相应栏目打√)评价项目论文与设计评价质量按对应项目打分工作量和态度(10分)分析问题能力(10分)解决问题能力(10分)内容完整层次分明(10分)设计、实验正确性(10分)书写规范(10分)流程图或拓扑图(10分)论证充分(10分)测试结果情况(10分)总体评价(10分)评定成绩(100分制)指导教师签名年月日目录一、选题背景................................................................................................................1二、方案论证(或设计理念)....................................................................................12.1设计理念..........................................................................................................12.2程序流程图......................................................................................................32.3系统结构图......................................................................................................4三、过程论述................................................................................................................5四、结果分析................................................................................................................54.1服务端界面......................................................................................................54.2客户端界面......................................................................................................64.2.1账号、密码登录核实...........................................................................64.2.2群聊.......................................................................................................74.2.3私聊.......................................................................................................74.3结果分析..........................................................................................................7五、结论(或总结)....................................................................................................8六、参考文献..............................................................................................................9附件一:程序源代码..................................................................................................101一、选题背景使用Socket实现网上聊天功能。用户可以通过客户端连接到服务器端并进行网上聊天。聊天时可以启动多个客户端。服务器端启动后,接收客户端发来的用户名和密码验证信息。验证通过则以当前的聊天客户列表信息进行响应;此后接收客户端发来的聊天信息,转发给客户端指定的聊天客户(即私聊)或所有其他客户端;在客户断开连接后公告其退出聊天系统的信息。客户端启动后在GUI界面接收用户输入的服务器端信息、账号和密码等验证客户的身份。验证通过则显示当前系统在线客户列表。客户可以与指定对象进行私聊,也可以向系统中所有在线客户发送信息。实现本程序需要了解网络基础知识,掌握C/S结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择VisualC++、C或Java等语言实现。二、方案论证(或设计理念)2.1设计理念基于C/S的简单聊天室可以实现用户与服务器间,服务器与多个用户间的通信。聊天室程序通常需要完成以下一些基本功能:(1)登录聊天室;(2)启动服务器;(3)关闭服务器;(4)用户之间的聊天;(5)退出聊天室。2本系统其体功能需求如下:(1)聊天室管理员登录到管理界而,即系统的服务器端。用户经登录界面都进入聊天大厅。(2)用户都需一要在登录界面输入正确的用户名和密码后才可以登录到各自的界面中去。(3)系统的两个主要界面都是为方便管理员和用户操作的。首先,管理员进入到管理界而后可以方便的启动/停止服务器,看到在线用户的信息和聊人信息、。用户进入到聊天大厅中可以聊天,查看服务器状态。(4)一个用户退出聊天室对其他用户不能产生影响,而服务器断开与客户端的连接则所有的用户都失去与服务器的连接。(5)用户的聊天信息录入,重写,发送,接收方便,快捷。(6)服务器状态,聊天信息和在线用户人数及时刷新。(7)聊天室系统运行稳定、安全性高。32.2程序流程图NY来自客户端的消息用户登录聊天消息用户退出聊天服务器登录信息正确更新消息和在线用户信息登录界面聊天界面4NY2.3系统结构图登录界面将登陆信息发给服务站服务器验证登录信息将登录成功信息发送给登录界面将登录失败信息发送给登录界面登录面向用户显示聊天界面登录界面显示错误对话框活跃客户端客户端消息收集消息分发CCCCC5三、过程论述(1)构建聊天室管理员界面,即系统的服务器端,开启并管理服务器。(2)构建用户登陆界面和聊天大厅界面,登陆以及接发信息。(3)构建登陆机制,用户端需要在登陆界面中输入正确的用户名及其密码后才可以与服务器之间收发信息。(4)代码实现管理员进行管理界面后可以方便的启动/停止服务器,以及知晓用户的在线/下线情况。(5)代码实现客户端进行群发/私聊机制,并将对应的数据发给服务器端。(6)完善代码,提升聊天室系统的稳定性,完全性。(7)测试系统。四、结果分析4.1服务端界面64.2客户端界面4.2.1账号、密码登录核实74.2.2群聊4.2.3私聊4.3结果分析此次基于C/S模式的聊天室设计可以实现服务端的开启关闭、客户登陆、以及信息的群发或者私聊功能,并且还有每条信息的接发所对应的时间,方便核实数据,而且界面操作简单,便于使用者使用。本设计采用环回IP127.0.0.1进行测试,效果基本达到要求,因此,此次设计还是十分成功的。8五、结论(或总结)两周的课程设计结束了,我的收获很大。通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对数据结构的认识和理解,切实的提高了我的编程能力,补全了我的不足。通过这次课程设计,我巩固所了学过的知识,能用JAVA熟练地运用其中的一些,进一步掌握了各个指令的功能是转向。课程设计是对我们所学的这些东西一个综合的运用。在整个程序的编写中,调试占了很大部分的时间。要想写好程序,必须认真对待代码的每一个细节,还必须熟练的掌握各种命令,这对程序的调试是非常重要的。通过这次实际动手能力的培养,我进一步熟悉了使用方法,基本达到了能独立阅读、编制和调试一定规模的水平。课程设计是对自己所学知识掌握程度最好的检验,特别是对于一些细节问题。考试还并不能完全的说明什么,因为考题都是一些单个的问题,大多只是知识的某一方面。而课程设计不同,我们要用到很多的单个知识点,把他们综合起来运用到自己的课题当中。学了一个学期的数据结构,现在终于迎来了课程设计,当然是一个很好的锻炼自己的机会。在本次的课程设计也发现了自己很多的缺点不足之处,对于一些细节性的问题老犯错,特别是一个标点的错误,很急人。对于有些知识掌握的不行,有的是模模糊糊的不牢靠,虽然有的东西考试考过,但当它用到实际问题的时候,往往不知道用哪,放哪。实践出真知。课程设计是个实践,虽然实际不长,但给我们对知识的运用,利用都有了很好的发挥。人多力量大这句话是真理啊,不懂得地方问同学,不会的地方也问同学,自己努力的同时跟别人共同进步,这就是合作,学会合作是我们以后必备的重要的一项人际技能。一个程序的完成需要不断地修改才能够得到完善,人生正如那程序一样,只有不断地努力、奋斗、勇往直前,才能够完善自己,做最好的自己。9六、参考文献[1].谢希仁等.计算机网络(第六版)[M].北京:人民邮电工业出版社,2015.;[2].Java2实用教程(第三版)编著者耿祥义张跃平清华大学出版社2006[3].Java编程设计编著者刘海杰中国铁道出版社2006[4].Java网络编程精解编著者孙卫琴电子工业出版社:30-32.10附件一:程序源代码客户端代码:packageclient;importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.net.*;importjava.util.*;importjavax.swing.*;publicclassClientextendsJFrame{Socketclientsocket=null;DataInputStreamin=null;DataOutputStreamout=null;JTextAreainputText;intflag;StringSerAddress=127.0.0.1;intSendPort=8888;JTextFieldNickName;JTextFieldPassword;JTextFieldman;JTextAreatextShow;JButtonbutton,setbutton;Vectorid=newVector(6);Vectorpasswd=newVector(6);publicClient(){//构造函数,创建一个布局并初始化setuser();init();setVisible(true);setDefaultCloseOpera
本文标题:计算机网络课程大作业聊天系统
链接地址:https://www.777doc.com/doc-6112714 .html