计算机网络课程大作业聊天系统

上传人:第*** 文档编号:56950670 上传时间:2018-10-17 格式:DOCX 页数:31 大小:372.28KB
返回 下载 相关 举报
计算机网络课程大作业聊天系统_第1页
第1页 / 共31页
计算机网络课程大作业聊天系统_第2页
第2页 / 共31页
计算机网络课程大作业聊天系统_第3页
第3页 / 共31页
计算机网络课程大作业聊天系统_第4页
第4页 / 共31页
计算机网络课程大作业聊天系统_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《计算机网络课程大作业聊天系统》由会员分享,可在线阅读,更多相关《计算机网络课程大作业聊天系统(31页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学武汉理工大学计算机网络课程论文题目题目基于基于 C/SC/S 模式的简单聊天程序模式的简单聊天程序作者作者学院学院信息工程学院专业专业电子信息工程学号学号指导指导 教师教师李方敏二一六年四月十三日武汉理工大学信息工程学院课程论文 诚信声明本人声明:所呈交的课程论文,是本人在指导老师的指导下,独立开展工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本课程论文不含任何其他个人或集体已经发表或创作过的作品成果。对本文工作做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。本科课程论文 作者签名:二一六年四月十三日课程论文成绩评

2、定表质量评价指标(在相应栏目打)论文与设计评价质量 评 价 项 目 按对应项目打分工作量和态度(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、3 私聊.74.3 结果分析7五、结论(或总结)8六、 参考文献9附件一:程序源代码101一、选题背景一、选题背景使用 Socket 实现网上聊天功能。用户可以通过客户端连接到服务器端并进行网上聊天。聊天时可以启动多个客户端。服务器端启动后,接收客户端发来的用户名和密码验证信息。验证通过则以当前的聊天客户列表信息进行响应;此后接收客户端发来的聊天信息,转发给客户端指定的聊天客户(即私聊)或所有其他客户端;在客户断开连接后公告其退出聊天系统的信息。客户端启动后在 GUI 界面接收用户输入的服务器端信息、账号和密码等验证客户的身份。验证通过则显示当前系统在线客户列表。客户可以与指定对象进行私聊,也

4、可以向系统中所有在线客户发送信息。实现本程序需要了解网络基础知识,掌握 C/S 结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择 Visual C+、C 或 Java 等语言实现。二、方案论证(或设计理念)二、方案论证(或设计理念)2.12.1 设计理念设计理念基于 C/S 的简单聊天室可以实现用户与服务器间,服务器与多个用户间的通信。聊天室程序通常需要完成以下一些基本功能: (1)登录聊天室; (2)启动服务器; (3)关闭服务器; (4)用户之间的聊天; 2(5)退出聊天室。 本系统其体功能需求如下: (1)聊天室管理员登录到管理界而,即系统的服务器端。用户经登录界面都进入聊

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

6、消息用户登录聊天消息用户退出聊天服务器登录信息正确更新消息和在线用户信息登录界面聊天界面4N N Y Y登录界面将登陆信息发给服务站服务器验证登录信息将登录成功信息发送给登录界面将登录失败信息发送给登录界面登录面向用户显示聊天界面登录界面显示错误对话框52.32.3 系统结构图系统结构图三、过程论述三、过程论述(1)构建聊天室管理员界面,即系统的服务器端,开启并管理服务器。(2)构建用户登陆界面和聊天大厅界面,登陆以及接发信息。(3)构建登陆机制,用户端需要在登陆界面中输入正确的用户名及其密码后才可以与服务器之间收发信息。(4)代码实现管理员进行管理界面后可以方便的启动/停止服务器,以及知晓用

7、户的在线/下线情况。(5)代码实现客户端进行群发/私聊机制,并将对应的数据发给服务器端。活跃客户端客户端消息收集消息分发CCCCC6(6)完善代码,提升聊天室系统的稳定性,完全性。(7)测试系统。四、结果分析四、结果分析4.14.1 服务端界面服务端界面74.24.2 客户端界面客户端界面4.2.14.2.1 账号、密码登录核实账号、密码登录核实84.2.24.2.2 群聊群聊4.2.34.2.3 私聊私聊4.34.3 结果分析结果分析此次基于 C/S 模式的聊天室设计可以实现服务端的开启关闭、客户登陆、以及信息的群发或者私聊功能,并且还有每条信息的接发所对应的时间,方便核实数据,而且界面操作

8、简单,便于使用者使用。本设计采用环回IP127.0.0.1 进行测试,效果基本达到要求,因此,此次设计还是十分成功的。9五、结论(或总结)五、结论(或总结)两周的课程设计结束了,我的收获很大。通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对数据结构的认识和理解,切实的提高了我的编程能力,补全了我的不足。通过这次课程设计,我巩固所了学过的知识,能用 JAVA 熟练地运用其中的一些,进一步掌握了各个指令的功能是转向。课程设计是对我们所学的这些东西一个综合的运用。在整个程序的编写中,调试占了很大部分的时间。要想写好程序,必须认真对待代码的每一个细节,还必须熟练的掌握各种命令,这对程

9、序的调试是非常重要的。通过这次实际动手能力的培养,我进一步熟悉了使用方法,基本达到了能独立阅读、编制和调试一定规模的水平。课程设计是对自己所学知识掌握程度最好的检验,特别是对于一些细节问题。考试还并不能完全的说明什么,因为考题都是一些单个的问题,大多只是知识的某一方面。而课程设计不同,我们要用到很多的单个知识点,把他们综合起来运用到自己的课题当中。学了一个学期的数据结构,现在终于迎来了课程设计,当然是一个很好的锻炼自己的机会。 在本次的课程设计也发现了自己很多的缺点不足之处,对于一些细节性的问题老犯错,特别是一个标点的错误,很急人。对于有些知识掌握的不行,有的是模模糊糊的不牢靠,虽然有的东西考

10、试考过,但当它用到实际问题的时候,往往不知道用哪,放哪。实践出真知。课程设计是个实践,虽然实际不长,但给我们对知识的运用,利用都有了很好的发挥。人多力量大这句话是真理啊,不懂得地方问同学,不会的地方也问同学,自己努力的同时跟别人共同进步,这就是合作,学会合作是我们以后必备的重要的一项人际技能。一个程序的完成需要不断地修改才能够得到完善,人生正如那程序一样,只有不断地努力、奋斗、勇往直前,才能够完善自己,做最好的自己。106 6、参考文献参考文献1.谢希仁等. 计算机网络(第六版) M. 北京:人民邮电工业出版社,2015.;2.Java2 实用教程(第三版 ) 编著者 耿祥义 张跃平 清华大学

11、出版社 2006 3.Java 编程设计 编著者 刘海杰 中国铁道出版社 2006 4.Java 网络编程精解 编著者 孙卫琴 电子工业出版社 :3032.11附件一:程序源代码客户端代码:客户端代码:package client;import java.awt.*;import java.awt.event.*;import java.io.*;import .*;import java.util.*;import javax.swing.*;public class Client extends JFrame Socket clientsocket = null;DataInputStre

12、am in = null;DataOutputStream out = null;JTextArea inputText;int flag;String SerAddress = “127.0.0.1“;int SendPort = 8888;JTextField NickName;JTextField Password;12JTextField man;JTextArea textShow;JButton button, setbutton;Vector id=new Vector(6);Vector passwd = new Vector(6);public Client() / 构造函数

13、,创建一个布局并初始化setuser();init();setVisible(true);setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);setBounds(480, 160, 340, 500);setTitle(“电信 1303 王洁茹的聊天室“);setResizable(false);void setuser()id.add(“王洁茹“);id.add(“孙秀丹“);id.add(“陈思贤“);id.add(“赵亦骏“);id.add(“唐静如“);13passwd.add(“wjr“);passwd.add(“sxd“);pa

14、sswd.add(“csx“);passwd.add(“zyj“);passwd.add(“tjr“); void init() / 初始化函数,设置布局并且设置监视器inputText = new JTextArea(5, 29);button = new JButton(“ 发送 “);JLabel label = new JLabel(“账号“);setbutton = new JButton(“ 登录 “);JLabel label1 = new JLabel(“密码“);JLabel label2 = new JLabel(“私聊对象“);textShow = new JTextAr

15、ea(15, 29);textShow.setEditable(false);NickName = new JTextField(7);Password = new JTextField(7);man = new JTextField(10);inputText.setBackground(new Color(255, 255, 255);setLayout(new FlowLayout();getContentPane().setBackground(new Color(255, 204, 204);add(new JScrollPane(textShow);14textShow.setBa

16、ckground(new Color(255, 255, 255);setbutton.setBackground(new Color(255, 153, 163);button.setBackground(new Color(255, 153, 163);NickName.setBackground(new Color(255, 255, 255);Password.setBackground(new Color(255, 255, 255);label.setForeground(new Color(255,102,102);label1.setForeground(new Color(255,102,102);label2.setForeground(

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

当前位置:首页 > 高等教育 > 大学课件

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