c#企业QQ系统设计报告Word格式文档下载.docx
- 文档编号:16516573
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:8
- 大小:86.59KB
c#企业QQ系统设计报告Word格式文档下载.docx
《c#企业QQ系统设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c#企业QQ系统设计报告Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
数据库管理系统软件:
MicrosoftSQLServer2008。
运行平台:
Windows7
C#(C
sharp)是一种最新的、面向对象的编程语言,它使得程序员可以快速地编写各种基于Microsoft
.NET平台的应用程序。
Microsoft
.NET提供了一系列的工具和服务来最大程度地开发、利用计算与通讯领域。
C#面向对象的卓越设计使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。
使用简单的C#语言结构,这些组件可以方便的转化为XML
网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。
最重要的是,C#使得C++程序员可以高效率地开发程序,而绝不损失C/C++原有的强大功能。
因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快地转向C#。
在C#中,每个对象都自动生成为一个COM对象。
开发者不再需要显式的实现IUnknown和其他COM接口.这些功能都是内置的、类似的,C#可以调用现有的COM对象,无论它是由什么语言编写的。
C#包含了一个特殊的功能:
使程序可以调用任何纯API。
在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。
这是其相对于其它环境的极大优势。
这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码
第二章设计
2.1设计内容
企业QQ系统按如下过程完成通信:
(1)客户向服务器注册,告知服务器它在监听某主题;
(2)客户注册之后,向服务器发送消息;
(3)服务器再把消息发送给所有监听些主题的客户。
2.2设计目的
此次开发的简易版企业QQ聊天系统可作为个人的交流工具使用,通信的安全性不是很高,但要求信息的响应速度要较快,让用户充分享受到网络即时消息的方便和快捷。
本聊天工具由服务器端程序和客户端程序两部分组成,整体采用JAVA平台开发,并使用SQL
Server管理数据库数据。
服务器是可以监听和查看用户的基本操作;
客户端程序面向实际用户,它有必要的界面的按钮,向用户提供网络即时消息的功能,
本聊天需包含如下基本功能:
1.客户端:
(1)新用户注册;
(2)用户登录验证;
(3)获取好友列表并显示好友状态(在线/不在线);
(4)添加用户好友;
(5)删除用户好友;
(6)用户与好友聊天(可查看聊天记录);
(7)接收系统信息。
2.服务端:
(1)启动和关闭后台服务器;
(2)查看客户端登录的相关信息(客户端登陆时间/登陆IP);
(3)
向所有在线用户发送系统消息。
第三章设计过程
3.1数据库和类库的设计
在数据库中,首先创建企业QQ数据库,然后根据数据库的逻辑结构分析创建的2张数据表。
用户表结构:
列名
数据类型
允许为空
说明
Id
Int
否
主键、自增列
LoginPwd
varchar(50)
用户登录密码
UserState
用户状态
FriendshipPolicyId
表示好友策略
NichName
Varchar(50)
用户昵称
FaceId
头像索引
Sex
性别
Age
年龄
Name
是
真实姓名
StarId
外键
BloodTypeId
好友表结构:
ID
主键、自增
HostId
好友关系中主人号码
FriendId
好友关系中好友号码
类库集提供了使应用程序可以读写XML数据、在Internet上通信、访问数据库等的代码。
所有的类库都建立在一个基础的类库之上,它提供管理使用最为频繁的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入/输出等底层功能。
3.2客户端模块设计
客户端即用户使用的应用程序端。
用户通过该聊天软件的客户端来实现网上聊天的相关功能:
注册、登录、添加好友、文字聊天、文件传输、语音聊天、视频聊天等。
注册功能是提交用户相关信息以及获得一个属于自己登录该聊天软件,系统的用户ID号;
登录功能是实现验证用户信息与合法使用该聊天软件系统的权限;
添加好友是实现用户之间好友添加的操作;
添加好友成功后,就可以与好友之间开始文字聊天、文件传输、语音聊天、视频聊天等功能。
第一次使用该系统时,我们需要进行用户注册。
注册界面
注册完成后,进入登陆界面,进行登陆
登陆界面
第一次使用系统的用户通过填写个人信息来注册,服务器返回一个注册ID号给注册用户,用来登录。
已经注册的用户在登录界面填写完相关登录信息,通过服务器的验证后就可以进入客户端界面。
在线用户在添加好友时可以查看所要添加用户的列表信息。
当对要添加的好友发送请求添加的信息后,由该好友验证是否通过请求,同意后会向请求方发送同意添加的消息。
当请求方添加完成后,服务器端会把相关信息存入到好友表的数据库中。
完成以上操作以后,两人即可进行在线聊天。
3.3服务器端控制台设计
主服务器实现了服务器的多线程,服务器端有一个进程(或多个进程)在指定的端口等待客户的连接信息。
一时连接成功,就可以按设计的数据交换方法和格式进行数据传输。
客户端只在需要的时候向服务端发出连接请求。
主服务器类调用ServerThread类,而每个ServerThread实体就是一个单独的线程,即对应于客户端连接请求响应的线程。
服务器为每个连接着的客户建立一个线程,为了同时响应多个客户端,需设计一个主线程来启动服务器端的多线程。
主线程与进程结构类似,它在获得新连接时生成一个线程来处理这个这个连接。
线程调度速度快,占用资源少,可共享进程空间中的数据,因此服务器的响应速度较快,且I/O吞吐量较大。
3.4主要代码
用户注册
privateClassMsgInsertUser(ClassMsgmsg,System.Net.IPAddressIp,intPort)
{
RegisterMsgregistermsg=(RegisterMsg)newClassSerializers().DeSerializeBinary(newMemoryStream(msg.Data));
ClassOptionDataOptionData=newClassOptionData();
MsgCommandSate=msg.msgCommand;
StringUserName=registermsg.UserName;
//注痢?
册á
用?
户§
的?
名?
称?
StringPassWord=registermsg.PassWord;
//注痢?
密ü
码?
StringvIP=Ip.ToString();
IP地?
址·
//向ò
数簓据Y表括?
中D添?
加ó
注痢?
信?
息¢
OptionData.ExSQL("
insertintotb_CurreneyUser(IP,Port,Name,PassWord,Sign)values('
"
+vIP+"
'
"
+
Port.ToString()+"
'
+UserName+"
+PassWord+"
+Convert.ToString((int)(MsgCommand.Registered))+"
)"
);
SqlDataReaderDataReader=OptionData.ExSQLReDr("
Select*Fromtb_CurreneyUser"
UpdateUser();
//更ü
新?
列表括?
OptionData.Dispose();
msg.msgCommand=MsgCommand.Registered;
//用?
结á
束?
命ü
令?
SendMsgToOne(Ip,Port,msg);
//将?
返う?
回?
给?
returnmsg;
}
用户登陆
privatevoidUserLogin(ClassMsgmsg,System.Net.IPAddressIp,intPort,intState)
//创洹?
建¨
并¢引皔用?
ClassOptionData
MsgCommandmsgState=msg.msgCommand;
//获?
取?
接ó
收?
消?
息¢的?
//登?
录?
Select*Fromtb_CurreneyUserWhereName="
+"
+UserName+"
+"
andPassWord="
+"
+PassWord+"
//在ú
数簓据Y库a中D通?
过y用?
和í
进?
行D查é
找ò
DataReader.Read();
//读á
查é
到?
记?
stringID=Convert.ToString(DataReader.GetInt32(0));
//获?
第台?
一?
条?
中D的?
ID字?
段?
值μ
if(DataReader.HasRows)//当獭繢ataReader中D有瓺记?
息¢时骸?
//修T改?
当獭?
前°
标括?
识?
为a上?
线?
状痢?
态?
Updatetb_CurreneyUserSetSign="
+Convert.ToString((int)(MsgCommand.Logined))+"
IP="
+"
Port="
+Port.ToString()+"
WhereID="
+ID);
msg.msgCommand=MsgCommand.Logined;
//设Θ?
置?
msg.SID=ID;
ID值μ
SendMsgToOne(Ip,Port,msg);
息¢返う?
发ぁ?
送í
UpdateUserState(msg,Ip,Port);
在ú
第四章总结
4.1设计总结
经过这次对聊天系统软件的开发与设计,学到了很多知识,也对软件开发的具体步骤有了更进一步的了解。
该系统采用C/S结构,基于.NET开发环境,用C#语言进行编译,在开发与设计这个聊天系统软件时,对.NET开发环境有基本的认识,并基本学会运用C#的语言编译简单的程序。
此聊天软件的开发是仿照现今国内最为流行的即时聊天工具“腾迅QQ”设计,实现的基本功能与QQ相似:
可以实现注册、登录、添加好友、文字传输、文件传输、视频聊天、语音聊天等的功能。
在开发此软件过程中,本人主要进行了聊天开发、设计与实现。
在开发过程中,对网络多媒体基础知识有了初步的认识,也对有关VFW的基本功能有所初步的了解。
通过这次聊天系统的开发,让我深刻的感受到在软件开发过程中对基础知识掌握的重要性。
随着互联网技术、计算机技术的发展,聊天工具的功能不断的完善,使其具有人性化,受到更多用户的青睐。
在未来的网络世界里,聊天工具会得到更多人喜爱,其功能也会随着技术的进步而不断地完善。
4.2心得体会
通过对“c#面向对象设计”这门课程的学习,我感觉对计算机知识有了更进一步的认识,我知道了计算机的一种新的语言,通过课程最后的设计,我在实践中学习了更多的知识,之所以选择这个系统,我觉得与我们平时很有关系,也十分的有用处。
经过这门课的学习,我我不仅学会有关企业QQ系统的一些知识,而且我在学习的过程中,通过自己查阅资料等方法,大大的提高了我自主学习能力与专研能力,以及同学之间的相互合作能力。
因此,我十分感谢这门课的开设,让我学到了知识;
我更感谢老师这种让学生自主学习的教学方法,因为它提高了同学们之间的相互合作能力。
我们一起共同进步共同完成这个设计。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c# 企业 QQ 系统 设计 报告