网络聊天室的设计与实现 多线程thread

网络聊天室的设计与实现 多线程thread

ID:12291944

大小:34.00 KB

页数:11页

时间:2018-07-16

上传者:xinshengwencai
网络聊天室的设计与实现 多线程thread_第1页
网络聊天室的设计与实现 多线程thread_第2页
网络聊天室的设计与实现 多线程thread_第3页
网络聊天室的设计与实现 多线程thread_第4页
网络聊天室的设计与实现 多线程thread_第5页
资源描述:

《网络聊天室的设计与实现 多线程thread》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

---------------------------------------------------------------范文最新推荐------------------------------------------------------网络聊天室的设计与实现+多线程Thread摘要:本聊天室主要由登录页面、验证页面、聊天室页面、离开页面、查看聊客页面、帮助页面等页面构成。整个设计简洁明了、实用,使用简单。和许多大型的网络聊天室相比该小聊天室比较简单,但能实现聊天的基本功能,点对多聊天,点对点聊天等。通过提供完善的聊天系统的管理,可以使人们与消费者之间、消费者与消费者之间的交流和联系更方便。本系统利用TCP协议、UDP协议、多线程Thread等实现数据的发送与接受数据,再通过SQL数据库实现数据的存取与更新等操作,使聊天室与数据库紧密的连接起来。关键词:SQL11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------网络聊天室的设计与实现+多线程Thread摘要:本聊天室主要由登录页面、验证页面、聊天室页面、离开页面、查看聊客页面、帮助页面等页面构成。整个设计简洁明了、实用,使用简单。和许多大型的网络聊天室相比该小聊天室比较简单,但能实现聊天的基本功能,点对多聊天,点对点聊天等。通过提供完善的聊天系统的管理,可以使人们与消费者之间、消费者与消费者之间的交流和联系更方便。本系统利用TCP协议、UDP协议、多线程Thread等实现数据的发送与接受数据,再通过SQL数据库实现数据的存取与更新等操作,使聊天室与数据库紧密的连接起来。关键词:SQL11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------Server;ADO.NET;TCP协议;多线程Thread,4325ThenetworkchatroomdesignandImplementationAbstract:Thischatroomconsistsofloginpageandverificationpage,chatroompages,exitpages,viewthepagesofchatter,helppages,andpagecomposition.Theentiredesignisconcise,practical,simpletouse.Comparedtothechatroomisrelativelysimple,buttoachievethebasicfunctionalityofthechat,chatformultipeer-to-peerchat,andmanylargeInternetchatrooms.Peopleandconsumersbyprovidingmanagementofthechatsystem,betweentheexchangesandcontactbetweentheconsumerandtheconsumerismoreconvenient.ThesystemusestheTCPprotocol,UDPprotocol,multi-threadedThreaddatatosendandreceivedatathroughtheSQLdatabasedataaccessandupdateoperationssuchasthechatroomandclosethedatabase11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------connection.KeyWords:SQLServer;ADO.NET;TCPprotocol;multithreadingThread目录摘要1引言21.系统相关技术21.1TCP21.2IPHostEntry类32.需求分析32.1系统需要解决的主要问题311/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------TCP/IP(TransmissionControlProtocol/InternetProtocol)即传输控制协议,是一个工业标准的协议集,它是为广域网设计的。它是由ARPANET网的研究机构发展起来的。有时我们将TCP/IP描述为集"InternetProtocolSuite",TCP和IP是其中的两个协议。1.2IPHostEntry类为Internet主机地址信息提供容器类。IPHostEntry类将一个域名系统DNS主机名与一组别名和一组匹配的IP地址关联。例如:在DNS数据库中查询关于主机www.163.com的信息,并在IPHostEntry实例中返回信息。hostInfo包含三个属性:(1)AddressList11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------获取或设置与主机关联的IP地址列表。(2)Aliases获取或设置与主机关联的别名列表。(3)Hostname11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------获取或设置主机的DNS名称。2.需求分析网上聊天室作为用户最喜欢的window应用程序,其特点就是强调信息的实时性和信息发布方式的多样性。从功能上讲,网上聊天室系统与论坛的系统非常相似,但聊天室系统有自己的特点,它强调信息的实时性,在聊天室保持连接的状态下,要求能够实时显示出聊天者所谈的内容。2.1系统需要解决的主要问题在规划设计一个聊天室时,首先要确定好谈话内容存储方式,即在客户机上显示实时谈话内容应以什么方式存储在服务器中.window可以用二种形式实现聊天内容的存取:1)用读写数据库方式实现。这种方法就相对比较简明,但服务器频繁读写数据库负担很重。2)用读写文本文件完成。这种方法适合简单的聊天室,由于对文本文件操作的指令远不如ADO提供的对数据库操作的指令多,所以利用ADO能灵活地操作数据库,如插入、删除、更新、查询等,因此选择了Sql数据库来存储谈话的内容。聊天室设计性能好坏的另一个重要的标志就是聊天室成员的动态刷新。因为许多用户在退出聊天室的时候,并不是标准的退出,也就是说并不是从“退出”链接退出的,这样就会带来很多的麻烦,因为服务器并不知道用户已经离开了。因此需要建立一个在线用户数据库,每隔一段时间检查一次,确定用户是否最后一次发言已经超时,如果超时就自动将该用户删除。但是每次用户发言的时候,必须把发言时间写入数据库。11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------本系统设计采用了SQL数据库设计。设计了一个数据库chat.mdb,用来存储聊天者发言的信息、用户的信息。(1)首先设计数据库,打开sql2005创建数据库Chat。(2)设计表,创建两张表:用户表Info如表1,信息表Userinfo如表2:表1用户表字段数据类型长度描述说明userIDnchar10用户名informationnvarchar50聊天内容chat11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------timedtatetime主键聊天时间表2信息表字段数据类型长度描述说明userIDnchar10主键用户名usernamenvarchar20真实姓名passwordnvarchar20密码sexnchar2性别birthdaydatetime出身日期adressnvarchar50住址IDcardnumeric0-18身份证号(3)创建存储过程checkusername用于注册时检查用户名是否可用;checkusernameandpwd用于登录时检查用户名和密码是否正确;adduser11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------用于添加用户;addinformation把聊天内容添加到数据库。本系统的数据库连接采用了ADO.NET数据库连接字符串的显示定义,这样做的好处在于,使用连接字符串可以直接实现这种连接,代码如下:11/11 ---------------------------------------------------------------范文最新推荐------------------------------------------------------4.3发言对象的设置用户发言前可以从在线用户列表中选择某个对象后,再进行发言,将来richTextBox中显示的发言内容是专门指向用户选择的对象。当用户自定义了发言文字的颜色、发言的对象并输入了发言内容后,用户就可以点击[发送]按钮将发言的内容以记录的形式提交到服务器。其中需要值得注意的是聊天用户客户端IP地址的获得方法,用Dns类的GetHostName()获取本地计算机的主机名。GetHostAddresses(主机名)方法获得。4.4显示发言信息模块设计在客户端运行时,屏幕显示出聊天室的用户登陆界面。用户输入用户名及密码正确登陆后即可进行聊天,按[发送]按钮时,用户的发言便会将用户的发言文字的颜色字体、发言的对象以及发言的内容一起写入聊天表中。接下来,用户设计所关心的就是怎样将发言的信息显示在richTextBox中。需要注意的是,发言之后,用户可以实现发言的内容并不是立即出现在屏幕上的,而是在很短暂的是延迟后才能看到发言的内容。那是因为发言程序本身负责的纯粹是把数据写入数据库,而不会向客户端返回任何东西。4.5实现聊天信息显示的关键技术4.5.1记录的显示顺序程序将发言信息写入数据库的时候,记录是不断往数据表的尾部增加的。因此,用户必须知道哪一句话是最新的,哪一句话是在前面说的。在聊天表中,有一个聊天时间,这个字段非常有用。以此来区分消息是刚才发的,还是是现在发的。4.5.2设置显示最新记录的范围由于用户的聊天信息不断的向聊天表追加新的内容,数据库将会变得越来越大。为了获得较快的信息读取和显示速度,用户不可能也不必要读取全部的聊天信息并将这些信息显示出来,秩序要设计看到最新的N句话,比如最新的50句话就够了。11/11

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

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

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