网络聊天室的设计与实现 多线程Thread.doc

上传人:scccc 文档编号:11232735 上传时间:2021-07-16 格式:DOC 页数:11 大小:34KB
返回 下载 相关 举报
网络聊天室的设计与实现 多线程Thread.doc_第1页
第1页 / 共11页
网络聊天室的设计与实现 多线程Thread.doc_第2页
第2页 / 共11页
网络聊天室的设计与实现 多线程Thread.doc_第3页
第3页 / 共11页
网络聊天室的设计与实现 多线程Thread.doc_第4页
第4页 / 共11页
网络聊天室的设计与实现 多线程Thread.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《网络聊天室的设计与实现 多线程Thread.doc》由会员分享,可在线阅读,更多相关《网络聊天室的设计与实现 多线程Thread.doc(11页珍藏版)》请在三一文库上搜索。

1、-范文最新推荐- 网络聊天室的设计与实现+多线程Thread 摘要:本聊天室主要由登录页面、验证页面、聊天室页面、离开页面、查看聊客页面、帮助页面等页面构成。整个设计简洁明了、实用,使用简单。和许多大型的网络聊天室相比该小聊天室比较简单,但能实现聊天的基本功能,点对多聊天,点对点聊天等。通过提供完善的聊天系统的管理,可以使人们与消费者之间、消费者与消费者之间的交流和联系更方便。本系统利用TCP协议、UDP协议、多线程Thread等实现数据的发送与接受数据,再通过SQL数据库实现数据的存取与更新等操作,使聊天室与数据库紧密的连接起来。关键词:SQL Server;ADO.NET;TCP协议;多线

2、程Thread,4325The network chat room design and ImplementationAbstract: This chat room consists of login page and verification page, chat room pages, exit pages, view the pages of chatter, help pages, and page composition. The entire design is concise, practical, simple to use. Compared to the chat roo

3、m is relatively simple, but to achieve the basic functionality of the chat, chat for multi peer-to-peer chat, and many large Internet chat rooms. People and consumers by providing management of the chat system, between the exchanges and contact between the consumer and the consumer is more convenien

4、t. The system uses the TCP protocol, UDP protocol, multi-threaded Thread data to send and receive data through the SQL database data access and update operations such as the chat room and close the database connection.Key Words: SQL Server; ADO.NET; TCP protocol; multithreading Thread目录摘要1引言21.系统相关技

5、术21.1 TCP21.2IPHostEntry类32.需求分析32.1系统需要解决的主要问题3 TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议,是一个工业标准的协议集,它是为广域网设计的。它是由ARPANET网的研究机构发展起来的。有时我们将TCP/IP描述为集"Internet Protocol Suite",TCP和IP是其中的两个协议。1.2IPHostEntry类为Internet主机地址信息提供容器类。IPHostEntry类将一个域名系统DNS主机名与一组别名和一组匹配的IP地址关

6、联。例如:在DNS数据库中查询关于主机的信息,并在IPHostEntry实例中返回信息。hostInfo包含三个属性 :(1)Address List 获取或设置与主机关联的IP地址列表。(2)Aliases 获取或设置与主机关联的别名列表。(3)Hostname 获取或设置主机的DNS名称。2.需求分析网上聊天室作为用户最喜欢的window应用程序,其特点就是强调信息的实时性和信息发布方式的多样性。从功能上讲,网上聊天室系统与论坛的系统非常相似,但聊天室系统有自己的特点,它强调信息的实时性,在聊天室保持连接的状态下,要求能够实时显示出聊天者所谈的内容。2.1系统需要解决的主要问题在规划设计一

7、个聊天室时,首先要确定好谈话内容存储方式,即在客户机上显示实时谈话内容应以什么方式存储在服务器中.window可以用二种形式实现聊天内容的存取:1)用读写数据库方式实现。这种方法就相对比较简明,但服务器频繁读写数据库负担很重。2)用读写文本文件完成。这种方法适合简单的聊天室,由于对文本文件操作的指令远不如ADO提供的对数据库操作的指令多,所以利用ADO能灵活地操作数据库,如插入、删除、更新、查询等,因此选择了Sql数据库来存储谈话的内容。聊天室设计性能好坏的另一个重要的标志就是聊天室成员的动态刷新。因为许多用户在退出聊天室的时候,并不是标准的退出,也就是说并不是从“退出&rdquo

8、;链接退出的,这样就会带来很多的麻烦,因为服务器并不知道用户已经离开了。因此需要建立一个在线用户数据库,每隔一段时间检查一次,确定用户是否最后一次发言已经超时,如果超时就自动将该用户删除。但是每次用户发言的时候,必须把发言时间写入数据库。 本系统设计采用了SQL 数据库设计。设计了一个数据库chat.mdb,用来存储聊天者发言的信息、用户的信息。(1)首先设计数据库,打开sql2005创建数据库Chat。(2)设计表,创建两张表:用户表Info如表1,信息表User info 如表2:表1用户表字段数据类型长度描述说明userIDnchar10用户名informationnvarchar50聊

9、天内容chat timedtatetime主键聊天时间表2信息表字段数据类型长度描述说明userIDnchar10主键用户名usernamenvarchar20真实姓名passwordnvarchar20密码sexnchar2性别birthdaydatetime出身日期adressnvarchar50住址IDcardnumeric0-18身份证号(3)创建存储过程 check username 用于注册时检查用户名是否可用;checkusernameandpwd 用于登录时检查用户名和密码是否正确;adduser 用于添加用户;addinformation 把聊天内容添加到数据库。本系统的数据

10、库连接采用了ADO.NET数据库连接字符串的显示定义,这样做的好处在于,使用连接字符串可以直接实现这种连接,代码如下: 4.3发言对象的设置用户发言前可以从在线用户列表中选择某个对象后,再进行发言,将来richTextBox中显示的发言内容是专门指向用户选择的对象。当用户自定义了发言文字的颜色、发言的对象并输入了发言内容后,用户就可以点击发送按钮将发言的内容以记录的形式提交到服务器。其中需要值得注意的是聊天用户客户端IP地址的获得方法,用Dns类的GetHostName()获取本地计算机的主机名。GetHostAddresses(主机名)方法获得。4.4显示发言信息模块设计在客户端运行时,屏幕

11、显示出聊天室的用户登陆界面。用户输入用户名及密码正确登陆后即可进行聊天,按发送按钮时,用户的发言便会将用户的发言文字的颜色字体、发言的对象以及发言的内容一起写入聊天表中。接下来,用户设计所关心的就是怎样将发言的信息显示在richTextBox中。需要注意的是,发言之后,用户可以实现发言的内容并不是立即出现在屏幕上的,而是在很短暂的是延迟后才能看到发言的内容。那是因为发言程序本身负责的纯粹是把数据写入数据库,而不会向客户端返回任何东西。4.5实现聊天信息显示的关键技术4.5.1记录的显示顺序程序将发言信息写入数据库的时候,记录是不断往数据表的尾部增加的。因此,用户必须知道哪一句话是最新的,哪一句话是在前面说的。在聊天表中,有一个聊天时间,这个字段非常有用。以此来区分消息是刚才发的,还是是现在发的。4.5.2设置显示最新记录的范围由于用户的聊天信息不断的向聊天表追加新的内容,数据库将会变得越来越大。为了获得较快的信息读取和显示 速度,用户不可能也不必要读取全部的聊天信息并将这些信息显示出来,秩序要设计看到最新的N句话,比如最新的50句话就够了。 11 / 11

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1