一 需求分析
编写一个小型Java聊天室系统,掌握Java网络通信、多线程、IO文件操作等高级应用编程技能。
完成如下功能:
-
多客户端模式下,实现客户与客户的单独通信,要求信息通过服务器中转;
-
端到端的通信,实现并行通信模式(一端的信息发送不受另一端的影响);
-
添加图形界面.
二 程序设计
2.1 设计思想
-
利用socket套接字通信
-
多线程处理不同任务
-
用Properties在本地存储注册账号
-
下载安装windowbuilder插件并用其设计图形界面
2.2 整体设计(类之间关系)
-
Server类(服务器),包含几个继承Runnable的内部类,用于处理客户端请求
-
Client类、Login类、TalkFrame类、Regist类。Login类用于登陆,Regist类用于注册,TalkFrame类用于对话,Client实例则被这三个类调用
-
Account类,这个类很简单,只有id和password两个属性和相应的set方法。
参考文档和完整的文档和源码下载地址: