网络聊天室的设计与实现+多线程Thread(2)
时间:2016-12-14 17:00 来源:毕业论文 作者:毕业论文 点击:次
TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议,是一个工业标准的协议集,它是为广域网设计的。它是由ARPANET网的研究机构发展起来的。有时我们将TCP/IP描述为集"Internet Protocol Suite",TCP和IP是其中的两个协议。 1.2 IPHostEntry类 为Internet主机地址信息提供容器类。IPHostEntry类将一个域名系统DNS主机名与一组别名和一组匹配的IP地址关联。例如:在DNS数据库中查询关于主机www.163.com的信息,并在IPHostEntry实例中返回信息。 hostInfo包含三个属性 : (1) Address List 获取或设置与主机关联的IP地址列表。 (2) Aliases 获取或设置与主机关联的别名列表。 (3) Hostname 获取或设置主机的DNS名称。 2.需求分析 网上聊天室作为用户最喜欢的window应用程序,其特点就是强调信息的实时性和信息发布方式的多样性。从功能上讲,网上聊天室系统与论坛的系统非常相似,但聊天室系统有自己的特点,它强调信息的实时性,在聊天室保持连接的状态下,要求能够实时显示出聊天者所谈的内容。 2.1系统需要解决的主要问题 在规划设计一个聊天室时,首先要确定好谈话内容存储方式,即在客户机上显示实时谈话内容应以什么方式存储在服务器中. window可以用二种形式实现聊天内容的存取: 1)用读写数据库方式实现。这种方法就相对比较简明,但服务器频繁读写数据库负担很重。 2)用读写文本文件完成。这种方法适合简单的聊天室,由于对文本文件操作的指令远不如ADO提供的对数据库操作的指令多,所以利用ADO能灵活地操作数据库,如插入、删除、更新、查询等,因此选择了Sql数据库来存储谈话的内容。 聊天室设计性能好坏的另一个重要的标志就是聊天室成员的动态刷新。因为许多用户在退出聊天室的时候,并不是标准的退出,也就是说并不是从“退出”链接退出的,这样就会带来很多的麻烦,因为服务器并不知道用户已经离开了。因此需要建立一个在线用户数据库,每隔一段时间检查一次,确定用户是否最后一次发言已经超时,如果超时就自动将该用户删除。但是每次用户发言的时候,必须把发言时间写入数据库。 2.2 系统具备的功能 考虑到聊天室制作的复杂性和毕业设计的时间问题,本次设计的聊天室主要实现了以下的功能: ●用户登录聊天室 ●聊天者把语句写入数据库 ●修改聊天语句的颜色 ●改变聊天对象 ●不断的对数据库进行刷新、读取 ●实时更新在线的用户 2.3 系统模块设计 根据需求分析和性能分析,对系统各功能进行集中、分块,按照结构化程序设计的要求,本功能的系统功能模块图如图1所示。 图1 系统模块结构图 3.数据库结构设计 数据库需求分析就是要了解在这个应用系统中,用户需要查询、更新、删除和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。 3.1 数据库逻辑结构设计 数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构设计和行为设计密切结合起来。针对系统的需要专门对数据库进行分析设计。通过对数据分析结果,得出数据库的E-R图如图2所示 图2 数据库ER图 3.2 数据库物理结构设计 数据库在一个信息管理系统中占有非常重要的地位,数据设计的优势将直接对应用系统的效率以及实现的效果产生影响。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。 (责任编辑:qin) |