摘 要
即时通信(Instant Message),由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信系统具有较强的现实意义。即时通信的底层通信是通过SOCKET套接字接口实现的。当前的主流UNIX系统和微软的WINDOWS系统都在内核提供了对SOCKET字接口的支持。使用这个统一的接口,可以编写一个可移植的TCP/IP通信程序。使信息能够在INTERNET上可靠的传输。
本文设计并实现了基于局域网内的简单即时通信系统,系统采用C/S模式,底层通信通过SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和心跳报文的发送。客户端采用P2P方式实现消息传递,并能实现文件的传输。本文首先讨论了同步套接字,异步套接字,多线程并发执行任务等;然后阐述了客户端、服务器如何使用XML序列化的消息进行通信。
关键词:即时通信;文件传输;套接字;TCP协议
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,下线时间等信息记录入数据库
成品毕业设计 可以根据自己的要求, 自行浏览选购, 可以参考是否符合自己要求,找到满意的成品毕业设计 , 直接发送成品编号联系发你网址的工作人员进行交易, 我们会从QQ或者邮箱等方式发送毕业设计程序。
我们团队 , 可以根据用户的功能要求量 身定制毕业设计程序 (同样联系发你网址的 工作人员) , 需要用户提供详细的 , 功能要 求.开发技术要求(开发语言、开发工具、框 架等 ) . 我们会根据用户毕业设计的难易程 度 , 工作量大小等, 具体的给出一个报价,价格 协商一致过后,付下40%定金.我们开始开 发毕业设计, 做好过后先发送设计桌面演示录像 , 用户看后 满意付尾款, 我们再发程序源码压缩包!