[关键词] 套接字;多线程;聊天室;通信
2.3.1 系统需求分析
本系统的目的是实现为局域网中的用户提供一个交流的平台。在服务器端和客户端有着不同的要求,大致需求如下:
(1) 服务器端
由于需要与多个客户端同时进行通信,因此服务器端的需求会相对多点。在经过详细的分析和了解后,得出以下需求:
能够运行在windows平台下,并且具有良好的用户交互界面
能够进行服务器端的一些基本网络配置,如IP地址、端口号的设置等
能够实现SOCKET的初始化,绑定,监听的操作,在监听到用户建立连接请求后能够做出相应的操作
与用户建立连接后,能够使在线的用户得知有新用户进入聊天室
向新进入的用户发送在线用户列表
记录在线用户的相关信息
用户在可以发言后所有聊天室内的在线用户以及服务器端可以收到并显示用户的发言
用户在进行私聊时,只有用户、私聊目标以及服务器能够看到私聊的相关信息,其他用户无法获取该信息
能够与用户进行文件传输
用户上传文件成功时,能够告知聊天室中的用户
用户下载文件成功时,能够告诉下载文件的用户下载是否完成
能够对用户进行管理,对聊天室用户发表的言论进行警告,必要时可将其踢出聊天室
在关闭服务时,能够事先通知用户服务器的关闭通知。
用户退出时,能够通知其他在线用户
能够正常退出服务器
目 录
1 引言 1
1.1 选题背景 1
1.2 课题的意义 2
1.3 系统实现的目标 2
2 系统分析 2
2.1 可行性分析 2
2.1.1 技术可行性 2
2.1.2 运行可行性 2
2.2 系统开发技术和开发模式 3
2.2.1 开发技术的选择 3
2.2.2 系统的开发模式 4
2.3 需求分析 4
2.3.1 系统需求分析 4
3 系统设计 7
3.1 服务器端的设计 7
3.1.1 服务器功能模块 7
3.1.2 服务器运行流程 8
3.2 客户端的设计 8
3.2.1 客户端功能模块 8
3.2.2 客户端运行流程图 9
3.3 系统消息设计 9
3.3.1 系统消息 10
3.3.2 用户消息 10
4 编码与实现 11
4.1 系统概述 11
4.1.1 服务器端概述 11
4.1.2 客户端概述 11
4.2 系统实现原理和编码 11
4.2.1 界面模块 11
4.2.2 设置模块 13
4.2.3 监听模块 15
4.2.4 聊天模块 16
4.2.5 文件传输模块 19
4.2.6 管理与控制模块 20
4.2.7 客户端简介 22
5 系统测试与运行 22
5.1 服务器端的测试与运行 22
5.1.1 启动服务 22
5.1.2 服务运行 23
5.1.3 关闭服务 25
5.2 客户端的测试与运行 26
5.2.1 设置连接信息 26
5.2.2 连接服务器 26
5.2.3 结束连接 28
6 总结与展望 28
结束语 30
参考文献 31
附录 32
致谢 41