JAVA聊天程序实验报告.doc

上传人:灯火****19 文档编号:135076135 上传时间:2020-06-11 格式:DOC 页数:31 大小:3.56MB
返回 下载 相关 举报
JAVA聊天程序实验报告.doc_第1页
第1页 / 共31页
JAVA聊天程序实验报告.doc_第2页
第2页 / 共31页
JAVA聊天程序实验报告.doc_第3页
第3页 / 共31页
JAVA聊天程序实验报告.doc_第4页
第4页 / 共31页
JAVA聊天程序实验报告.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《JAVA聊天程序实验报告.doc》由会员分享,可在线阅读,更多相关《JAVA聊天程序实验报告.doc(31页珍藏版)》请在金锄头文库上搜索。

1、 网络聊天程序实验报告 组长: xxx PB09210xxx 其他组员: 无实验内容 用面向对象程序设计方法编写一个网络聊天程序。程序的功能是允许处在网络上不同结点的多个用户进行文字聊天。最基本的要求是实现一对一的聊天,即最多只允许两个人在线。也可以实现多人同时聊天,即在线的任何一个用户输入的文字,其他的人都能立即收到。建议采用Socket通讯方式。 实验实现(1) 概要设计: GAGA聊天程序实现结构图:客户端 服务器 登窗口录客户端线程列表消息列表消息 1消息接收选择器 群聊窗口 客户端 1 客户端 2消息 2 . . 私聊窗口 1 客户端 n 消息 n 私聊窗口 2.私聊窗口 n 广播线

2、程,向所有客户端广播消息注: 图中粗箭头表示信息传递图解:在客户端着一端: 每一个客户端登录时候,先向服务器发送一个登录名的信息,向服务器注册这个客户端,然后进入群聊窗口,可以直接在群聊窗口中发送群聊的信息,也可以点击在线用户,打开私聊窗口,向相应用户私聊。群聊,私聊的消息发送给服务器,服务器再把这些消息广播给所有客户端,每个客户端对接受的消息进行识别:要是群聊消息则放到群聊窗口里面;要是私聊信息,检查是不是给自己的私聊信息,要是给自己的,显示到相应私聊窗口上,要是没有相应私聊窗口则创建那个私聊窗口 ;要是不是自己的私聊消息则无视这个消息 在服务器这一端: 每一个客户端与服务器建立连接时候,就

3、为它建立一个CreatServerThread的线程类,用来专门处理这个客户端。服务器每当接收到消息后就使用Broadcast线程类进行广播,直到消息列表里面的消息发送完为止。Broadcast是通过查找CreatServerThread线程类的数组,找到每个CreatServerThread线程类,也就找到每个客户端,再逐个发送消息(2) 详细设计:实验实现代码结构 客户端:(每种颜色代表一个类)package Client; / 主类message_frame,用来创建message_frame_to类public class message_frame public static voi

4、d main(String args) / 主函数,创建message_frame_to类,调用其构造函数message_frame_to m=new message_frame_to() ;/ 主类message_frame结束/类message_frame_to,用于创建客户端群聊窗口,与服务器连接,接发消息class message_frame_to extends KeyAdapter implements ActionListener public message_frame_to() /构造函数,调用其他函数 Frame() ; / 建立主框架 Text() ; / 建立文本域 L

5、abel() ; / 建立标签域 Button() ; / 建立按钮域 online_users() ; / 建立在线用户列表 Dlog D=new Dlog() ; / 建立登陆界面 Client() ; / 连接服务器函数 / 建立主框架函数 public static void Frame() / 文本域函数 public static void Text() / 标签域函数 public static void Label() / 按钮函数 public void Button() / 按钮监听函数 public void actionPerformed(ActionEvent e)

6、/ 输入框键盘监听函数,支持CTRL+ENTER快捷键发送消息 public void keyReleased(KeyEvent e) / 在线列表函数public void online_users() /服务器建立连接与接收数据函数 public int Client() / 群聊信息发送函数 public void send() / 延迟函数,用来解决需要延迟执行问题 public static void deley(int ms) / 抖屏函数 public void shake() /类message_frame_to结束/私聊窗口类(线程派生类),每点击一个用户进行私聊时候,就创建

7、一个对应的私聊窗口class frame extends Thread implements ActionListener / 构造函数 public frame(String s) send_name = s; start() ; / 构造函数结束 / run函数,用来构造私聊窗口 public void run() / 私聊窗口按钮监听执行器函数 public void actionPerformed(ActionEvent e) /私聊消息发送函数 public void send_one() / 私聊窗口信息显示函数 public void write(String inn) / 私聊

8、窗口类结束 / 登录界面类,用来构造登录界面 class Dlog extends Frame implements ActionListener / 构造函数,创建登录窗口界面 public Dlog() / 登录窗口按钮监听执行器函数 public void actionPerformed(ActionEvent e) / 登录界面类结束/ 音乐播放类,可以播放wav格式音乐class PlayWav / 构造函数 public PlayWav(String soun) / 播放函数 public void play() /音乐播放类结束服务器: (Server为最大类,内部包含两个子类以

9、用不同颜色表明)package Server; / 主类Server,是整个服务器的类public class Server extends ServerSocket implements ActionListener /主函数public static void main(String args) throws IOException new Server(); / 调用Server构造函数/ Sever函数,用来监听客户端连接public Server() throws IOException / 服务器的界面设计window函数public void window() /服务器GUI上按

10、钮监听执行器函数public void actionPerformed(ActionEvent e) / 广播类(线程派生类),用来广播消息class Broadcast extends Thread public Broadcast() start(); / run函数,广播消息 public void run() / 广播类结束 / 客户端线程类,每个对应一个客户端 class CreateServerThread extends Thread / 构造函数 public CreateServerThread(Socket s) throws IOException / 负责接收客户端发来

11、的消息public void run() public void sendMessage(String msg) /发送消息函数,保证发送给这个线程对应的客户端 /线程类CreateServerThread结束 / 主类Server结束程序运行与使用说明 (1) 打开服务器 运行Server.java,输入密码0911001,按下start按钮,文本域会出现红色的The Server is working字符串,表示服务器已经开始工作,要是密码输入不正确会提示The password is wrong,重新输入正确的密码才能打开服务器,具体截图如下: (2) 登入客户端 运行message_f

12、rame.java,首先会跳出登录界面,输入用户名,点击sure按钮登录: 登录之后就会进入主聊天窗口,它可以支持群聊,可以看到主窗口分为:输入框Input Area , 信息框Message Area , 当前客户端用户名User , 在线用户名列表Online User ,发送按钮Send ,信息框清屏按钮Clear ,抖屏按钮Shake 群聊: 在输入框中输入“你们好,我是卡卡”,按CTRL+ENTER键直接发送(也可以按Send按钮发送) 继续群聊: 私聊 : 比如现在“卡卡”找“劳尔”私聊,可以直接点击主窗口在线列表里面的“劳尔”的名字,会弹出私聊窗口 在私聊窗口输入信息,点击发送即可和“劳尔”私聊,此时劳尔也会跳出一个对“卡卡”的私聊窗口 “劳尔”也可以对“卡卡”进行私聊 然后在用户退出时候会有在线列表更新,例如“罗比尼奥”退出:注: 在用户登入,退出时候都会有提示音提醒在线的所有用户,在用户有消息到来时候会有消息提示音软件特色 : GAGA聊天软件,支持群聊,私聊 ;支持快捷键发送(群聊);支持清屏,抖屏功能;界

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

当前位置:首页 > 办公文档 > 总结/报告

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