C#网络聊天系统的方案设计书与实现.docx

上传人:b****1 文档编号:13567135 上传时间:2023-06-15 格式:DOCX 页数:8 大小:60.20KB
下载 相关 举报
C#网络聊天系统的方案设计书与实现.docx_第1页
第1页 / 共8页
C#网络聊天系统的方案设计书与实现.docx_第2页
第2页 / 共8页
C#网络聊天系统的方案设计书与实现.docx_第3页
第3页 / 共8页
C#网络聊天系统的方案设计书与实现.docx_第4页
第4页 / 共8页
C#网络聊天系统的方案设计书与实现.docx_第5页
第5页 / 共8页
C#网络聊天系统的方案设计书与实现.docx_第6页
第6页 / 共8页
C#网络聊天系统的方案设计书与实现.docx_第7页
第7页 / 共8页
C#网络聊天系统的方案设计书与实现.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C#网络聊天系统的方案设计书与实现.docx

《C#网络聊天系统的方案设计书与实现.docx》由会员分享,可在线阅读,更多相关《C#网络聊天系统的方案设计书与实现.docx(8页珍藏版)》请在冰点文库上搜索。

C#网络聊天系统的方案设计书与实现.docx

C#网络聊天系统的方案设计书与实现

封面

作者:

PanHongliang

仅供个人学习

摘要

21世纪人类进入了一个以网络计算机为中心的信息主导型时代,现在人们可以使用计算机在瞬间迅速地处理和传递大量信息。

网络的快速发展使得信息交流的速度和方式发生了巨大的变化,人们已经越来越明显地看到了计算机网络带来的社会生活方面的巨大变革。

随着互联网技术的飞速进步,有关网络的技术层出不穷,网络聊天系统也成为了一种深受大众喜爱、应用广泛的工具。

网络聊天是互联网上一种非常普及的应用,文中以.NET平台作为开发工具,使用Socket作为应用程序开发模型,可方便服务器与客户端建立连接,数据传输和断开连接。

此外,在开发的过程中还采用了多线程技术,以完成客户进程间的调度,实现多用户操作。

文章中设计了一个简单的桌面聊天系统,包括服务器端和客户端两个部分,服务器和客户端之间通过Socket编程技术实现建立连接的过程,并进行通信。

服务器端主要包括如下功能:

显示登陆服务器主机及端口号,记录登陆用户并管理用户基本信息。

客户端分为用户登陆和聊天两个子模块,两个模块包括如下功能:

显示服务器端口、用户登陆、管理用户聊天记录、显示用户状态和私聊模式。

关键词:

网络聊天系统,服务器端,客户端,Socket,多线程

ABSTRACT

The21stcentury,mankindhasenteredainformation-orientederaofnetworkcomputerasthecenter,nowpeoplecanusethecomputerrapidlyprocessingandtransmistinginformationinaninstant.Therapiddevelopmentofnetworkmakestheexchangeofinformation’rateandmannerhastakenplacetremendouschanges,itismoreandmoreevidentthatenormouschangesofthesociallifebroughtaboutbythecomputernetworks.Astheinternetisdevelopingrapidly,thetechnologyonnetworkemergesoneanotherinstantly.Thenetworkchatsystemisalsobecomingapopular,widely-usedtool.

Networkchatontheinternetisaverypopularapplication,inthetext,weuse.NETplatformasadevelopmenttool,andsocketastheapplicationdevelopmentmodel,tofacilitatetheestablishmentoftheclientandserverconnectivity,datatransmissionanddisconnect.Inaddition,intheprocessofdevelopingalsousesthemulti-threadedtechnologytocompletetheprocessforscheduling,andmulti-useroperation.Thearticledesignsasimpledesktopchatsystem,includingserverandclientintwoparts,betweentheclientandserverthroughSocketprogrammingtechnologytoconnecttheprocess,andcommunications.Theserverendmainlyincludesthefollowingfunctions:

showinglandingserverhostandportnumber,userslogrecordsandmanageuserbasicinformation.Thecustomerendmodulewasdividedintotwopiecesofmodule,loginingandchating,whichincludethefollowingfunctions:

showingserverport,logining,themanagementofuserchats,showinguser’sstateandprivatemodel.

Keywords:

NetworkChatSystem,theserverend,theclientend,Socket,multi-threadingtechnology

目录

第1章引言1

1.1课题的背景及意义1

1.2课题的研究现状1

1.3本文的组织方式2

第2章关键技术及开发工具4

2.1TCP/IP协议和Socket简介4

2.1.1TCP协议简介5

2.1.2端口简介6

2.1.3名称空间6

2.1.4Socket编程技术7

2.2多线程技术9

2.3开发工具介绍10

第3章网络聊天系统分析12

3.1系统实现目标及基本原理12

3.2需求分析12

3.2.1功能需求分析12

3.2.2性能需求分析13

3.3系统体系结构13

第4章系统设计15

4.1系统模块分析15

4.2服务器端的设计17

4.3客户端的设计18

第5章系统实现20

5.1服务器端的实现20

5.1.1服务器初始化21

5.1.2建立与客户端连接22

5.1.3与客户端通信23

5.1.4向客户端发送命令23

5.2客户端的实现24

5.2.1登陆子模块的实现24

5.2.2客户端聊天子模块的实现26

结论30

参考文献31

致谢33

1.3本文的组织方式

本文对网络聊天系统进行了详细的分析研究,并采用当今比较主流的技术进行了设实现计。

本文共有5章。

第1章引言主要是给出课题的研究背景、研究的现状,并且概括了论文主要内容。

第2章关键技术及开发工具介绍了聊天系统所采用的关键技术,并对系统开发工具进行了简单的介绍。

第3章系统分析与设计首先介绍系统实现的基本原理,给出了要实现的目标并对其进行需求分析,并重点给出了系统的体系结构。

第4章系统详细设计首先对系统的功能模块进行划分,并着重给出了系统的详细设计方案。

第5章系统实现针对系统功能模块分别进行实现,包括服务器部分和客户端部分。

总结对所做的研究和设计进行总结。

最后附上致谢和参考文献!

本聊天系统的总体框架如图4.1所示:

图4.2服务器端程序流程图

}

图5.4用户沈亚坤的初始窗口

5.2.2客户端聊天子模块的实现

在ChatClient工程中将Form1.cs重命名为ChatClientForm.cs,为了使用Socket对象和Thread对象,在代码文件中加入名字空间System.Net、System.Net.Sockets和System.Thread的引用。

当加载窗体时,便会进入ChatClientForm_Load处理程序,在ChatClientForm_Load处理程序中,首先显示用户登录窗口,如图5.3所示。

如果登录成功,那么获取与服务器的连接并得到与服务器数据交互的流通道,向服务器发送CONN请求命令,同时启动一个新的线程用于响应从服务器发回的信息(在方法ServerResponse()中实现)。

ServerResponse()方法用于和服务器进行数据通信,主要是接收从服务器发回的信息,根据不同的命令,执行相应的操作。

当选中“悄悄话”复选框时,便会进入priCheckBox_CheckedChanged处理程序。

用户进行私聊时的程序流程图如图5.5所示:

图5.5私聊流程图

在priCheckBox_CheckedChanged处理程序中主要对privatemode布尔属性进行设置,具体代码如下:

privatevoidpriCheckBox_CheckedChange(objectsender,System.EventArgse)

{

If(priCheckBox.Checked)

{

Privatemode=true;

}

Else

{

Privatemode=false;

}

}

当单击“发送”按钮时,便会进入btnSend_Click处理程序。

在btnSend_Click处理程序中,如果privatemode布尔属性值为false(说明不是私聊),将CHAT命令发送给服务器;否则(为私聊),将PRIV命令发送给服务器,注意命令格式一定要与服务器端的命令格式一致,用户私聊模式如图5.6所示。

图5.6卢胜宝收到沈亚坤的信息后的窗口

当单击“离开”按钮时,便进入了btnExit_Click处理程序。

在btnExit_Click处理程序中,将EXIT命令发送给服务器,此命令格式要与服务器端的命令格式一致,具体代码如下:

PrivatevoidbtnExit_Click(Objectsender,System.EventArgse)

{

Stringmessage=”EXIT|”+UserAlias+”|;

//将字符串转化为字符数组

Byte[]outbytes=System.Text.Encoding.

ASCII.GetBytes(message.ToCharArray());

//利用NetworkStream的Write方法发送

Strm.Write(outbytes,0,outbytes.Length);

}

用户离开后其他在线用户的窗口显示如图5.7所示:

图5.7用户崔小东离开后卢胜宝的窗口

从图中可以看出,用户崔小东离开后,卢胜宝的在线用户列表中的他的名字已经被删除,并在信息栏里给出提示。

Poweredby

版权申明

本文部分内容,包括文字、图片、以及设计等在网上搜集整理。

版权为潘宏亮个人所有

Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'spersonalownership.

用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。

除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。

Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.

转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。

Reproductionorquotationofthecontentofthisarticlemustbereasonableandgood-faithcitationfortheuseofnewsorinformativepublicfreeinformation.Itshallnotmisinterpretormodifytheoriginalintentionofthecontentofthisarticle,andshallbearlegalliabilitysuchascopyright.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2