欢迎来到天天文库
浏览记录
ID:29874891
大小:258.18 KB
页数:23页
时间:2018-12-24
《[计算机]java网络编程实践报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java网络编程实践(基于C/S的控制台聊天室)课程设计说明书课程名称:Java网络课程实践题目:基于C/S的控制台聊天室姓名:董丽蓉学号:200905143教学班号:01指导教师:王小刚兰州交通大学软件科学与工程系二○一一年月日任务书:题目3:基于C/S的控制台聊天室(1人)实现几个客户端的群聊(在控制台窗口显示聊天信息),信息经服务端转发和群发,多客户端使用多线程。基于Socket。注意:在每一个客户端窗口要显示所有参与聊天者的聊天内容,包括谁发言及发言内容。文档内容要求:1、在做上述题目时,正文要求包含4部分内容:1)项目简述和目的2)解题基本思路;3)分析和设计
2、4)主要程序源代码;5)运行截图;5)总结和体会2、文档装订顺序:1)封面;2)任务书;3)团队成员及分工列表;3)正文。3、打印格式要求:Ø纸型:B5Ø页边距:上2.54cm;下2.54cm;左2.2cm;右1.9cm;装订线为0Ø字体、格式要求:题目:2号黑体不加粗,居中,段前段后间距1行。子标题字体为4号黑体。所有的子标题均加粗,置于页面最左端,段前段后间距均设为0.5行。文章正文皆为5号宋体,行距为固定值22磅,字距为标准。图、表的标题文字采用小5号黑体,表中的文字采用小5号宋体基于C/S的控制台聊天室一、设计目的巩固所学的Java语言基础知识,增进Java语言
3、的编辑基本功,拓展常用类库的应用,使我们通过教学环节与手段,把所学的课程及相关知识加以融会贯通,二、设计内容运用Java程序编写聊天室,实现简单的聊天功能。它是图形界面,线程,流与文件系统等技术的综合应用。其界面主要采用了Java.awt包,Java.swing包等。程序实现了聊天室的基本功能,其中有:1.启动服务器。2.启动登录界面。3.进入客户端界面。4.发送信息。5.离开客户端界面。6.关闭服务器。三、分析1.首先通过继承JFrame类构造服务器界面。使服务器能够为每一个客户启动一个线程,记录客户的上下线行为、登录的IP,发送消息的时刻,监视客户的聊天记录,对于出
4、现不文明的话语,在客户端进行屏蔽,并统计出现不文明用语的次数,超过三次提示警告信息,并将其踢出聊天室。2.设计客户端程序使其能够完成正常的通信功能,并且可以更改背景颜色,设置字体颜色。3.设计登录程序,使其显示登录的IP地址端口号,以及用户昵称,通过登录按钮可以调用客户端程序,实现;聊天功能。四、详细设计程序中引入的包:importjava.net.*;importjava.io.*;importjava.util.*;importjava.awt.event.*;importjava.awt.*;importjava.javax.swing.*;1)服务器端代码中用户
5、自定义的类:类名:Server作用:服务器的启动继承的类:JFrame,构造服务器界面。定义的对象:TextArea文本域Java.awt.List在线客户列表SeverSocket服务器Socket客户端主要成员方法:voidinit()构造服务器端的界面publicvoidactionPerformed(ActionEvente)按钮监听器publicvoidkeyPressed(KeyEvente)键盘监听器类名:start作用:启动服务器的线程继承的类名:thread主要的成员方法:Publicvoidrun()启动服务器的线程类名:SgService继承的类名
6、:thread主要的成员方法:publicvoidrun()处理单个客户的线程2)用户登录相关的类:类名:login作用:构造登录界面继承的类:JFrame实现的接口:ActionListener构造方法:publiclogin()主要的成员方法:publicvoidactionPerformed(ActionEvente)实现登录和取消按钮的监听器类名:loginStart继承的类:thread主要的方法:publicvoidrun()作用:如果登录成功,则弹出客户端聊天窗口,如果登录失败,则打印出登录失败,以告知客户1)客户端相关的类:类名:Client继承的类:J
7、Frame实现的接口:ActionListener构造方法:publicClient(PrintStreamout,BufferedReaderin,Stringname)主要的成员方法:publicvoidreceive()接受服务端发来的信息五.主要程序源代码//聊天室服务器importjava.net.*;importjava.io.*;importjava.util.*;importjava.awt.event.*;importjava.awt.*;importjavax.swing.*;classServerextendsJFr
此文档下载收益归作者所有