- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 91
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc324335805 1概述 PAGEREF _Toc324335805 \h 1
HYPERLINK \l _Toc324335806 2需求描述 PAGEREF _Toc324335806 \h 1
HYPERLINK \l _Toc324335807 3功能分析 PAGEREF _Toc324335807 \h 2
HYPERLINK \l _Toc324335808 4主要功能实现 PAGEREF _Toc324335808 \h 2
HYPERLINK \l _Toc324335809 4.1服务器监听模块 PAGEREF _Toc324335809 \h 3
HYPERLINK \l _Toc324335810 4.2客户端用户登录模块 PAGEREF _Toc324335810 \h 35
HYPERLINK \l _Toc324335811 4.3用户注册模块 PAGEREF _Toc324335811 \h 48
HYPERLINK \l _Toc324335812 4.4聊天模块 PAGEREF _Toc324335812 \h 59
HYPERLINK \l _Toc324335813 4.5发送文件模块 PAGEREF _Toc324335813 \h 85
HYPERLINK \l _Toc324335814 4.6发送振动消息模块 PAGEREF _Toc324335814 \h 89
清华辰安JAVA项目网络版JQ
1概述
为巩固对JAVA的学习,帮助大家掌握知识点,特让同学们编写一个模拟QQ在线聊天的程序JQ,可实现网上多人聊天,主要用到Swing、 线程、网络编程、集合类、文件IO处理、日期、泛型及JAVA基础知识,采用面向对象的方法设计,是对本课程的一个完整的复习和提高。
2需求描述
娱乐聊天作为一个长期的话题,早已经深入人心。为了满足学习JAVA的爱好者对网络聊天程序开发的愿望,因此开发出类似QQ聊天系统的系统JQ。
3功能分析
这个聊天系统分为服务器端和客户端两个部分:服务器端主要负责监听客户端的连接请求,把客户端的注册请求、登录请求通过网络发送给服务器端进行处理,把客户端(请求方)的聊天请求、发送文件请求、发送振动请求等转发给目标客户端(接收方);而客户端就是负责发送请求并处理服务器端返回的响应信息。
4主要功能实现
本项目的客户端和服务器端的源代码列表如图:
从图中可以看出:项目的包主要分成客户端和服务器端两个部分。根据功能分析分为以下几大功能模块:
服务器监听模块
客户端用户登录模块
用户注册模块
聊天模块
发送文件模块
发送振动消息模块
下面就从这6个主要功能模块来分别介绍。
4.1服务器监听模块
首先运行server.serverMain.java来启动服务器监听。效果如图:
在服务器监听窗体中显示了:服务器当前所监听的端口、当前的在线用户列表、当前已注册的用户列表。如果要想看当前已注册的用户列表,可以单击【已注册用户列表】标签切换到这个选项卡,显示结果如图:
图中为了方便用户的测试,把密码显示出来了,如果有必要的话,可以修改代码将密码设置为不可见。
如果想关闭并退出服务器,可以单击【关闭服务器】按钮或关闭窗体按钮,此时会弹出是否关闭的提示对话框,效果如图所示:
如果想要关闭服务器,可以单击【是】按钮,否则单击【否】按钮可以取消这步操作。
以上这些功能的实现,需要了解以下几个类:
server.ServerMain类
他首先在配置文件perties中指定的端口上启动监听,当接收到一个客户端连接时就创建一个线程专门处理这个客户端的请求,最后启动服务器监听窗体。代码如下:
/**
* ClassName: ServerMain.java
* Author: qiujy
* CreateTime: 2009-4-15
* EMAIL: qjyong@
* Copyright 2009 ++YONG All rights reserved.
*/
package server;
import java.io.IOException;
import .*;
import javax.swing.*;
import server.controller.RequestProcessor;
import server.ui.ServerInfoFrame;
/**
文档评论(0)