- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《TCP/IP协议分析》
课程设计任务书及指导书
武汉工业学院 数学与计算机学院
2012-12-18
目录
目录 2
课程设计课题内容 4
课题内容设计思路 4
客户端: 4
界面设计分析: 4
框架设计分析 6
服务器: 8
服务器功能分析 8
框架设计分析: 9
源代码 10
通信子系统源代码: 10
ChatClient.java 10
ChatClientHandler.java 14
ChatServer.java 17
ChatServerHandler.java 19
ChatProtocolImpl.java 22
ChatProtocolStruct.java 29
CmdType.java 32
通信子系统测试源代码: 33
UserLoginWnd.java 33
ChatClientGUI.java 38
WndShow.java 48
类分布结构 51
m包: 51
chatsystem.gui包: 51
chatsystem.util 51
测试环境描述: 51
测试说明: 51
“连接服务器”按钮: 52
“退出”按钮: 52
其他控件: 53
测试结果截图: 53
课程设计要求: 53
主要工作: 53
课程设计报告撰写要求: 53
设计思路和实现方法: 54
程序运行测试截图 54
课程设计总结 54
封面模板 55
课程设计课题内容
设计并开发出一个简单的即时通讯系统,包括通讯客户端和服务器。客户端采用GUI模式进行设计,而服务器端采用后台方式工作。
客户端功能:
注册新用户
登录服务器;
显示当前服务器在线用户;
群聊;
私聊;
服务器功能:
创建新用户;
验证客户端登录;
实现客户端消息的转发;
课题内容设计思路
客户端:
界面设计分析:
用户登录窗口
UserLoginWnd 接收数据:用户名、密码
数据来源:用户输入
业务处理:
向服务器发送登录请求,送出用户名和密码;
接收服务器反馈,成功则进入客户端主窗口;
打开注册新用户窗口;
用户注册窗口
UserRegisterWnd 接收数据:用户名、密码、密码确认
数据来源:用户输入
业务处理:
判断密码和密码确认是否一致;
向服务器发送注册新用户请求,送出用户名和密码;
接收服务器反馈,成功则回到用户登录窗口;
客户端主窗口
MainChatWnd 接收数据:用户列表信息、当前用户将发送消息;服务器转发某用户的群发消息;
数据来源:网络传输、用户输入
业务处理:
接收服务器发来的已登录用户信息,刷新Tree控件;
接收服务器转发来的群聊消息,追加消息到文本框中;
将当前用户输入的消息发送给服务器;
当前用户双击Tree控件中的对应某个用户的节点时,打开私聊窗口
私聊窗口
PersonChatWnd 接收数据:正在私聊的用户信息;服务器转发来的文本消息;当前用户输入的消息
数据来源:网络传输、用户输入
业务处理:
接收服务器转发来的私聊消息;
将当前用户输入的文本信息发送给服务器;
通过界面设计分析后,应该大概清楚本系统的客户端应具备哪些功能了。下面开始进行系统设计的实质性分析,也就是框架设计。这里我们采用分层的模式进行设计。大概应该分哪几层呢?
框架设计分析
显示层:
包括客户端的窗口类;
UserLoginWnd.java
实现用户登录窗口布局
UserRegisterWnd.java
实现用户注册窗口布局
MainChatWnd.java
实现系统主窗口布局
UsersTree.java
实现系统主窗口中用户树
PresonChatWnd.java
实现私聊窗口布局 业务层
包括客户端窗口类处理的业务逻辑实现类;
UserLoginLogic.java
实现用户登录的业务逻辑
UserRegisterLogic.java
实现用户注册的业务逻辑
GetLoginedUsersLogic.java
实现获取已登录用户信息的业务逻辑
MessagesHandlerLogic.java
实现接收和发送消息要处理的业务逻辑
通信层
包括客户端与服务器通信协议的实现类;
ChatProtocolImpl.java
实现本系统应用层协议
ChatClient.java
实现与服务器的通信 综合分析后得到各个类之间的静态关系图如下所示。图中带箭头的虚线表示虚线尾连接的对象会调用箭头指向的对象。
对于上面类静态图,这里进行一个简要的解释。
本系统客户端启动时,将创建UserLoginWnd对象,用于打开“登录窗口”,并等待用户的操作。如果用户点击了“登录”按钮,就要调用UserLoginLogic,对用户输入的用户名和密码进行检查,如果一切正常,那么调用ChatClient将用户名和密码发送给服务器
文档评论(0)