C#网络聊天系统的方案设计书与实现_第1页
C#网络聊天系统的方案设计书与实现_第2页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、封面作者: PanHongliang摘要21 世纪人类进入了一个以网络计算机为中心的信息主导型时代,现在人们可以 使用计算机在瞬间迅速地处理和传递大量信息。网络的快速发展使得信息交流的速度 和方式发生了巨大的变化,人们已经越来越明显地看到了计算机网络带来的社会生活 方面的巨大变革。随着互联网技术的飞速进步,有关网络的技术层出不穷,网络聊天 系统也成为了一种深受大众喜爱、应仅供个人学习用广泛的工具。网络聊天是互联网上一种非常普及的应用, 文中以 .NET 平台作为开发工具, 使 用 Socket作为应用程序开发模型,可方便服务器与客户端建立连接,数据传输和断 开连接。此外,在开发的过程中还采用了

2、多线程技术,以完成客户进程间的调度,实 现多用户操作。文章中设计了一个简单的桌面聊天系统, 包括服务器端和客户端两个 部分, 服务器和客户端之间通过 Socket编程技术实现建立连接的过程,并进行通 信。服务器端主要包括如下功能:显示登陆服务器主机及端口号,记录登陆用户并管 理用户基本信息。客户端分为用户登陆和聊天两个子模块,两个模块包括如下功能: 显示服务器端口、用户登陆、管理用户聊天记录、显示用户状态和私聊模式。 关键词 :网络聊天系统,服务器端,客户端, Socket ,多线程ABSTRACTThe 21st century, mankind has entered a informat

3、ion-oriented era of network computeras the center , now people can use the computer rapidly processing and transmistinginformationin an instant. The rapid development of network makes the exchange ofinformation rate and manner has taken place tremendous changes, it is more and moreevident that enorm

4、ous changes of the social life brought about by the computer networks.Asthe internet is developing rapidly, the technology on network emerges one anotherinstantly.The network chat system is also becoming a popular, widely-used tool.Network chat on the internet is a very popular application, in the t

5、ext, we use .NETplatform as a development tool, and socket as the application development model, to facilitatethe establishment of the client and server connectivity, data transmission and disconnect. Inaddition, in the process of developing also usesthe multi-threaded technology to complete theproc

6、essfor scheduling, and multi-user operation. The article designs a simple desktop chatsystem, including server and client in two parts, between the client and server through Socketprogramming technology to connect the process, and communications.The server end mainlyincludes the following functions:

7、 showing landing server host and port number, users logrecords andmanageuserbasic information. The customer end module was divided into twopieces of module, logining and chating, which include the following functions: showing serverport, logining, the management of user chats, showing users state an

8、d private model.Keywords:Network Chat System, the server end, the client end, Socket, multi-threadingtechnology目录第 1 章引言 错误!未定义书签。1.1 课题的背景及意义 错误!未定义书签。1.2 课题的研究现状 错误!未定义书签。1.3本文的组织方式 1第 2 章关键技术及开发工具 错误!未定义书签。2.1 TCP/IP 协议和 Socket 简介错误!未定义书签。2.1.1 TCP 协议简介错误!未定义书签。2.1.2 端口简介 错误!未定义书签。2.1.3 名称空间 错误!未

9、定义书签。2.1.4 Socket 编程技术错误!未定义书签。2.2 多线程技术 错误!未定义书签。2.3开发工具介绍 错误!未定义书签。第 3 章网络聊天系统分析 错误!未定义书签。3.1 系统实现目标及基本原理 错误!未定义书签。3.2 需求分析 错误!未定义书签。3.2.1 功能需求分析 错误!未定义书签。3.2.2 性能需求分析 错误!未定义书签。3.3系统体系结构 错误!未定义书签。第 4 章系统设计 错误!未定义书签。4.1 系统模块分析 错误!未定义书签。4.2服务器端的设计 错误!未定义书签。4.3客户端的设计 错误!未定义书签。第 5 章系统实现 错误!未定义书签。5.1 服

10、务器端的实现 错误!未定义书签。5.1.1 服务器初始化 错误!未定义书签。5.1.2 建立与客户端连接 错误!未定义书签。5.1.3 与客户端通信 错误!未定义书签。5.1.4 向客户端发送命令 错误!未定义书签。5.2 客户端的实现 错误!未定义书签。5.2.1 登陆子模块的实现 错误!未定义书签。5.2.2 客户端聊天子模块的实现 2结论错误!未定义书签。参考文献 错误!未定义书签。致谢错误!未定义书签。1.3本文的组织方式本文对网络聊天系统进行了详细的分析研究,并采用当今比较主流的技术进行了 设实现计。本文共有 5 章。第 1 章 引言 主要是给出课题的研究背景、研究的现状,并且概括了

11、论文主要内 容。第 2 章 关键技术及开发工具 介绍了聊天系统所采用的关键技术,并对系统开发 工具进行了简单的介绍。第 3 章 系统分析与设计 首先介绍系统实现的基本原理,给出了要实现的目标并 对其进行需求分析,并重点给出了系统的体系结构。第 4 章 系统详细设计 首先对系统的功能模块进行划分,并着重给出了系统的详 细设计方案。第 5 章 系统实现 针对系统功能模块分别进行实现,包括服务器部分和客户端部 分。总结 对所做的研究和设计进行总结。最后附上致谢和参考文献!本聊天系统的总体框架如图 4.1 所示:ChatClie ntForm_Load 处理程序中,首先显示用户登录窗口,如图 5.3

12、所示。如果登录 成功,那么获取与服务器的连接并得到与服务器数据交互的流通道,向服务器发送 CONN 请求命令,同时启动一个新的线程用于响应从服务器发回的信息(在方法ServerRespo nse(中实现)。ServerResp on se(方法用于和服务器进行数据通信,主要是接收从服务器发回的 信息,根据不同的命令,执行相应的操作。当选中“悄悄话”复选框时,便会进入priCheckBox_CheckedChange(处理程序。用户进行私聊时的程序流程图如图 5.5所 示:图 5.5 私聊流程图522 客户端芙现态token块0=exit耸名AChat在用线户用聊户N 天列lientF(表.cs

13、使用 Socket 对在 ChatCli象和 Thread 对象,在代码文件中加入名字空间System.Net、System.Net.Sockets 和System.Thread 的引用。结束当加载窗体时,便会进入 ChatClientForm_Load 处理程序,在十亚坤的:, 亚进行 陆图请处5用用用户一户在线态显示IP聊天-orm1.es用模块列私聊模式为了设置布尔值在priCheckBox_CheckedChange 处理程序中主要对 privatemode 布尔属性进行设置,具体 代码如下:private void priCheckBox_CheckedChange(object s

14、ender,System.EventArgs e)If(priCheckBox.Checked)Privatemode=true;ElsePrivatemode=false;当单击“发送”按钮时,便会进入 btnSend_Click 处理程序。在 btnSend_Click 处 理程序中,如果 privatemode 布尔属性值为 false (说明不是私聊),将 CHAT 命令发 送给服务器;否则(为私聊),将 PRIV 命令发送给服务器,注意命令格式一定要与 服务器端的命令格式一致,用户私聊模式如图 5.6 所示。图 5.6 卢胜宝收到沈亚坤的信息后的窗口当单击“离开”按钮时,便进入了 b

15、tnExit_Click 处理程序。在 btnExit_Click 处 理程序中,将 EXIT 命令发送给服务器,此命令格式要与服务器端的命令格式一致, 具体代码如下:Private void btnExit_Click(Object sender , System.EventArgs e)String message=”EXIT| ”+UserAlias+”|;/将字符串转化为字符数组Byteoutbytes=System.Text.Encoding.ASCII.GetBytes(message.ToCharArray();/利用 NetworkStream 的 Write 方法发送if(p

16、rivatemodeN向所有用户发送信息离Strm.Write(outbytes,0,outbytes.Length);用户离开后其他在线用户的窗口显示如图 5.7 所示:图 5.7 用户崔小东离开后卢胜宝的窗口从图中可以看出,用户崔小东离开后,卢胜宝的在线用户列表中的他的名字已经 被删除,并在信息栏里给出提示。Powered by版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整 理。版权为潘宏亮个人所有This article in eludes some parts, in cludi ng text, pictures, and desig n.Copyright is Pa

17、n Hon glia ngs pers onal own ership.用户可将本文的内容或服务用于个人学习、研究或欣赏,以及 其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关 法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权 利人的书面许可,并支付报酬。Users may use the contents or services of this article for pers onalstudy, research or appreciati on, and other non-commercial or non

18、-profitpurposes, but at the same time, they shall abide by the provisions ofcopyright law and other releva nt laws, and shall not infringe upon thelegitimate rights of this website and its releva nt obligees. In addition, whenany content or service of this article is used for other purposes, writtenpermission and remun erati on shall be obta ined from the pers on concernedand the releva nt obligee.转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修 改,并自负版权等法律责任。Reproducti on or

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论