[计算机软件设计精品] 基于p2p的im聊天工具设计

[计算机软件设计精品] 基于p2p的im聊天工具设计

ID:6690053

大小:135.50 KB

页数:5页

时间:2018-01-22

[计算机软件设计精品] 基于p2p的im聊天工具设计_第1页
[计算机软件设计精品] 基于p2p的im聊天工具设计_第2页
[计算机软件设计精品] 基于p2p的im聊天工具设计_第3页
[计算机软件设计精品] 基于p2p的im聊天工具设计_第4页
[计算机软件设计精品] 基于p2p的im聊天工具设计_第5页
资源描述:

《[计算机软件设计精品] 基于p2p的im聊天工具设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MyQQ2007—基于P2P的IM聊天工具摘要:MyQQ2007网络聊天工具使用当前流行的C#语言编写,集成开发环境为最新VisualStudio.Net2005,运行类库为.NETFramework2.0,数据库使用的是SQLServer2000,设计用到的技术有Sockets网络编程、ADO.Net数据库编程、TreeView多线程委托技术、GUI设计等。功能基本上达到了市面上流行的QQ聊天软件水平。关键词:MyQQ2007;P2P;即时通讯;网络聊天1.项目介绍1.1系统定义即时信息(IM)是在线通讯的一种,它通过个人电脑或者移动设备实现即时通信(或近似于即时通讯)。用户可实现类似于

2、电子邮件的P2P的交流或者加入群组讨论中。尽管文本聊天还是IM工具的主要内容,但现在技术已经有了很大发展,可以实现图片、声音、视频以及其它附件的传递。1.2设计目标本程序涵盖了IM聊天工具的整体结构、基本功能以及数据库结构。内容包括:用户信息的存储、网页的用户的号码申请用户管理,服务器的运行,客户端的用户登录、聊天和对用户信息进行查询和修改。本软件的开发基本满足的了用户的需求,使其能够通过互联网结交网友,进行点对点聊天,畅享互联网带来的无限乐趣。软件主要实现以下功能:ü具有数据库功能,实现用户信息的存储;ü网站支持,用于MyQQ号码的申请注册和管理员对注册用户和群信息的管理;ü远程服务器,

3、完成对客户的登录和注销的控制以及聊天信息的数据交换工作;ü客户端程序,用户聊天的主程序,用户登录程序后通过同其他用户进行群聊和私聊两种模式认识和结交更过的网友,具有修改个人信息和查询他人信息的功能。2.总体设计2.1数据库设计本系统需要通过数据库来存储用户的相关信息,主要的表有:MyQQ表和Admin表。MyQQ用来存储用户信息,Admin表则是用来存储管理员信息。2.1.1MyQQ表MyQQ表用来存储用户信息,这个表共有20个字段,id(序号)、Number(MyQQ号码)等字段的数据类型为整型,其中id字段为主键,其值唯一;Password(密码)、Name(昵称)等字段的数据类型为v

4、archar类型,允许用户输入指定长度内的任意长字符串,其中Password字段存储的数据是经过MD5加密算法加密并截取指定长度的字符串,其优点在于使数据库更为安全可靠;其他已知长度字符串类型的数据字段的数据类型定义为char类型,如Sex(性别)、Face(头像)等。2.1.2Admin表Admin表用来存储管理员信息,只有3个字段。其中ID字段的数据类型为整型,且为主键,其值唯一;Name(管理员名称)和Password(密码)字段的数据类型均为varchar类型;Password字段存储的数据也是经过MD5加密算法加密和截取指定长度的字符串。2.2程序模块设计2.2.1注册申请模块(

5、1)用户登录网站的号码申请页面(Apply.aspx),同意条款声明、认真填写个人信息和正确填写系统自动生成的验证码,点击“确定”;(2)系统将用户注册信息连同进行加密算法处理的密码存入数据库中的相应字段中;(3)最后,系统会自动分配一个8位的MyQQ号码给用户,完成注册。2.2.2服务器管理模块(1)管理员运行服务器端程序;(2)服务器端开始监听端口,接受用户登录数据;(3)服务器完成对用户聊天信息的数据交换任务;(4)管理员通过登录后台可以对用户信息进行管理和维护。2.2.3用户登录模块(1)用户运行客户端程序,通过已申请的MyQQ号码和正确的密码登录远程服务器;(2)客户端将用户登录

6、信息发送给服务端,此时处于等待状态;远程服务器程序通过访问远程数据库与接收到的数据进行对比,将结果返回给客户端;客户端接收到正确信息后进入主程序,反之错误返回登录界面,等待用户再次登录。2.2.4聊天主模块(1)用户进行聊天的主界面,尽情享受网络聊天交友的乐趣;(2)用户通过右键相应的用户,在弹出菜单中选择“详细资料”来查询好友信息;(3)用户也可以在菜单选项中点选“个人设置”修改个人资料和密码等。1.部分功能模块的详细设计与介绍3.1服务器管理模块管理员打开服务器端,等待远程用户登录。服务器运行界面用了ListBox控件,可方便管理员直观地了解到当前在线用户情况。监听端口、数据交换主函数

7、部分代码及注释如下:while(keepalive)//判断客户端程序是否保持在线状态{Byte[]buffer=newByte[1024];//定义buffer为数据流,用于接收客户端传送的数据client.Receive(buffer);//接收数据stringclientcommand=System.Text.Encoding.ASCII.GetString(buffer);//将数据转换为ASCII码string

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。