毕业设计网
asp类 | PHP | asp.net|C# | JSP,JAVA | VB | VC++ | android,安卓 | 课程设计 |

基于TCP局域网聊天软件的设计与实现

在VB和数据库互联技术的基础上,设计一套局域网聊天软件,主要实现:1)系统采用Socket技术实现网络通讯;2)系统主要实现用户登录、聊天等功能;3)支持多用户通信;4)支持文件传输。
本论文的研究内容主要包括以下几个方面:
1、对结构化设计方法和面向对象的设计开发方法进行了研究和比较,本课题采用的是更为先进的面向对象设计开发方法;
2、研究VB技术。
3、设计并实现局域网聊天系统的基本功能。

全文共分为六章,各章内容分别如下:
第一章绪论。阐述了本课题的研究背景和研究意义及其本文的研究内容和组织结构。
第二章系统使用技术概述。本章首先介绍了VB技术,接着对TCP/IP技术和Socket等技术进行了相关介绍,对开发工具进行简单介绍。
第三章局域网聊天系统的需求分析。本章首先对系统进行了可行性研究,指出了系统要解决的问题,并提出系统的设计思想;接下来对系统进行了需求分析,最后分析了系统的运行流程。
第四章总体设计和数据库设计。在对系统进行架构设计后,本章首先对系统流程进行了详细设计,最后对数据库进行了概念设计和逻辑设计。
第五章系统的实现与维护。本章主要介绍了系统的实现基础,然后按照系统结构,逐层分析并给出相关代码示例,最后给出了部分页面的显示结果图。
第六章总结中总结了本文的内容,并介绍了此次的主要工作及本系统存在的不足。
根据当前网络的需求,网络聊天越来越受各种网民所青睐。因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时可以留着访客,更重要的是让访客透过它来实现实时的互相交流。
3.1 需求分析
聊天系统不外乎两个方面,服务器端和客户端。
首先来看一下服务器端的任务:
1、服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。
2、服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。
以上就是服务器端最主要的两个任务。
其次客户端的任务包括:
1、与服务器端建立通信通道,向服务器端发送信息。
2、接收来自服务器的信息。
相对服务器而言,客户端的任务较简单,通过简单分析服务器与客户端的任务,可以知道,解决上述几个问题,即完成了该聊天系统的核心。
3.2 系统功能设计
本程序是基于TCP/IP 协议, 采用服务器与客户机模式, 选用VB程序设计语言来实现的。
1、 服务器端的运行过程可以简化为:设置连接所用的端口;开始监听此端口;接到请求后建立连接;可以发送和接收数据;结束后关闭服务器。
服务器端详细过程:
1)、设置好LocalPort 属性(即与客户端连接所用的端口);
2)、用Listen 方法进入监听状态, 等待客户端发连接请求;
3)、当客户端发送了连接请求后, 服务器端产生Connection-Request 事件, 该事件得到一个参数requestID;
4)、服务器端用Accept方法接受客户机的程序的requestID,此后服务器端就可以用SendData方法发送数据了;
5)、当服务器接收到客户端发来的数据时, 产生DataArrival事件,在这个事件里,就可以用GetData方法接收数据了;
6)、如果遇到Close 事件, 则Close 方法会关闭TCP/IP 连接,也就是断开连接了。
2、 客户机端的运行过程可以简化为: 设置服务器地址(即要连接的地址);设置连接时所用到的端口;发送连接请求;建立连接成功;可以发送和接收数据;结束后关闭客户端。
客户机端详细过程:
1)、设置Remotehost 属性(要连接的服务器地址);
2)、设置RemotePort 属性(连接时所使用的端口);
3)、用Connect 方法向服务器发送连接请求;
4)、服务器接受请求后, 客户端产生Connect 事件,就可以用SendData 方法发送数据了;
5)、当接收到服务端发来的数据时, 产生DataArrival 事件,该事件中用GetData 方法接收数据;
6)、如果接受到Close 事件,则用Close 方法关闭连接。
VB6.0 提供了Winsock 控件,要实现两台计算机的对话,可以通过Winsock 控件进行,而不需了解更多的数据传输细节,本程序就是通过Winsock 进行的。一个Winsock 控件可以建立与一个计算机的联接, 服务器程序中首先设置一个Winsock 控件,将其索引值设为0,以便在运行时动态增减数值,这样可以与多个客户端进行对话。
3.3 系统分析与设计方案
3.3.1 聊天系统的总体设计
聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:
1、实现思想
局域网聊天程序一般都是以服务器提供的服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。
2、服务器端工作流程
服务器端通过socket()系统调用创建一个Socket数组后(即设定接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行侦听listen()。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。
3、客户端工作流程
客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。

以上是大纲或介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:188083800咨询

上一篇:基于Linux下服务器集群技术初探
下一篇:C#网上电子商城的电子商务网站


版权所有 毕业设计网联系qq:188083800 © 2007-2015