计算机即时通讯系统采用C/S(Client/Server)结构进行设计,使用SQL Server 2000构建数据库,并在.NET环境下使用Visual C#.net语言和SOCKET套接字开发一个基于TCP协议的简单即时通信软件,实现简单的即时聊天,文件传输等功能。
软件针对局域网内部用户,实现用户间的即时通信。需要分别实现服务器端和客户端的软件设计。
服务器端负责监听用户连接请求,负责连接数据库存储用户信息,负责发送给用户好友信息,负责发送心跳报文检查用户在线状态并即时让用户更新好友在新信息。
客户端发起主动连接,向服务器请求登录或者注册。客户端可以修改昵称,可以加已知用户为好友(类似于MSN的好友添加功能)。客户端之间可以发起P2P模式的聊天,可以传送文件。
毕业设计功能模块设计
CLIENT:
1. 注册:
(1) 可以完成客户端注册,客户端可以通过填写信息进行注册,信息被发送到服务器端。
2. 登录:
(1) 客户可以输入账号和密码进行登录,客户端会发送登录信息等待服务器响应,登录成功后会发出登录成功信息并刷新好友列表。
3. 修改:
(1) 密码修改:应该有密码修改功能
(2) 信息修改:可以更改一些注册信息
4. 通信:
(1) 即时聊天模块:客户端与客户端之间建立线程进行即时聊天,也包含有简单的对称加解密算法功能。
(2) 好友列表:可以对好友列表进行添加删除等动作
5. 文件传输:
(1) 文件传输:文件传输功能
SERVER:
1. 注册回应:对客户端传送的注册信息进行判断。
(1) HASH加密:对用户的账号和密码信息进行HASH加密
(2) 重复用户检查:将加密后信息与已存在账号进行比较,检查是否账号已存在,如果存在就返回错误信息
(3) 注册成功:将可成功注册的用户账号和密码写入数据库内,并向客户端返回成功信息
2. 修改回应:
(1) 对密码和信息修改请求进行判断,执行和返回修改成功信息
3. 登录回应:
(1) 对登录的账号和密码进行加密检查后发回正确或错误情况,并记录上线信息
(2) 好友列表发送:给成功登录的账号发送好友列表及好友上线信息
(3) 上线信息发送:给成功登录的账号的好友发送在线信息(包括IP,端口等等信息)
4. 在线情况:
(1) 对登录,在线,离线的用户情况进行统计,记录和通知
(2) 心跳测试:每隔一段时间发送报文测试用户是否因意外原因离线
(3) 情况记录:将用户登录时间,IP,下线时间等信息记录入数据库