聊天系统设计与分析

上传人:m**** 文档编号:472376635 上传时间:2023-04-06 格式:DOC 页数:3 大小:32.50KB
返回 下载 相关 举报
聊天系统设计与分析_第1页
第1页 / 共3页
聊天系统设计与分析_第2页
第2页 / 共3页
聊天系统设计与分析_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《聊天系统设计与分析》由会员分享,可在线阅读,更多相关《聊天系统设计与分析(3页珍藏版)》请在金锄头文库上搜索。

1、聊天系统的分析与设计毕业设计2009-12-0523:57:47阅读210评论0字号:大中小订阅第一章绪论随着科技的进步,计算机网络的发展日新月异。Intenet在人们的心中地位也越来越重要。其中在线聊天系统尤为重要,也是人们最早在网络的接触到的。1. 聊天系统的简介:在线聊天系统是互联网站一种极为常见的互动沟通交流服务.聊天系统可以向网友提供开放性的聊天服务,网友们可以在此互相发表自己的某些观感,交流某些技术,经验乃至人生的感悟与忧欢,结交更多的朋友(1)讯息区是显示聊友对话内容的区域.为了方便聊友观看和个人有关的对话.在线名单区线上名单中间的数字是在线聊友的人数.线上名单下面的分别是聊友的

2、性别,呢称,和聊友的资料。(2) 发言区让聊中间的数字是在线聊友的人数.功能区刷新名单显示新聊友的名字.(3) 查找聊友功能可以查找你想找的聊友修改资料功能在本聊天室注册的聊友可以随时修改个人资料.设计思想在互联网上,传统的网站或用户都使用类似于Email(电子邮件)的形式互相发送信息来进行一系列的交流.但这种异步交互的办事效率可见是很低的.为提高效率,让用户之间能达到实时交互的目的,所以岀现了可以实时交流信息的聊天室,来满足用户的需求实现聊天系统的需求分析采用c/s结构,考虑共有6个需求:建立侦听服务这个需求是服务器端的需求。用户登录包括客户端请求登录以及服务器端响应登录两个过程。收发聊天信

3、息包括客户端发送聊天信息以及服务器端转发聊天信息两个过程。收发系统信息由服务器端发送给客户端的信息。用户下线包括客户端请求下线以及服务器响应请求两个过程,这个与用户登录类似。服务器关需要完成的任务3.开发工具和相关技术简介(JavaScriptJavaScript是由Sun公司及网景Netscape公司开发的.它可以让你设计交互的网页内容,但不能单独执行,必须在浏览器或服务器上执行。Java具有强大的网络编程功能,它提供了了基于Socket的通信方式(Socket-basedcommunication),使得应用程序可以像读写文件一样Socket读取数据和向Socket写入数据。TCP/IP和

4、UDP/IPsocket程序的两种通信协议,为Java支持。UDP:数据报通信(DatagramCommunication)协议,为无连接协议,可以在任何时候发送数据报。TCP:流通报通信协议,面向连接的协议。使用UDP,每一次发送数据报时,都要随之一起发送本地的描述符与接收方的socket地址,使用TCP则不需要如此,但TCP需要建立连接的时间,而使用UDP则需要更多的信息。使用UDP要求你发往指定位置的数据报不能超过64KB,而在TCP中没有这样的限制。UDP协议是一个不太可靠的协议,因为它无法保证你所发送的的数据报以同样的顺序被接收方接收。相比较而言,TCP协议则要可靠的多,因为它能保证

5、你所发送的包以同样的顺序被接收。简而言之,TCP用于实现不受传输数据长度限制的网络服务,如远程登录(rlogintelenet).FTP等,UDP复杂程度较底,开销也小,主要使用在构建与句域之上的分布系统中,客户/服务器应用于程序的实现,一般情况下,最好用TCP,因为它提供了可靠的.面向连接的通信方式。Java实现简单的服务器和客户端利用Java实现一个简单的服务器需要5个步骤;第一步,创建一个serversocket类的对象。第二步,建立侦听。建立侦听是由serversocket类的accept函数完成。第三步,获取用于与远程客户端通信的outputstream对象和intputstream

6、对象。第四步,利用objectoutputstream类的writeobject函数,进行数据的准备,并利用objectoutput类的flush函数,将函数发送岀去。第五步,当传输结束后,调用socket的close方法,关闭连接。利用Java实现一个简单的客户端需要4个步骤;第一步,创建socket类对象,用做连接套接字。第二步,绑定和连接的套接字。用于数据的发送与接收。第三步,获取用于与远程服务器通信的outputstream对象和intputstream对象。第四步,当客户端完成通信,通过socket的close方法关闭连接。第二章聊天室总体分析和设计聊天系统运行原理聊天系统最基本的原

7、理就是:从客户端收集消息,然后通过服务器端消息分发程序中转,将全局消息发送给的所有用户.网络聊天程序的功能和主要技术基于TCP协议的网络聊天程序必须包括服务端和客户端两个程序,其中一台计算机上运行服务端程序,在创建服务端程序时,设置一个监听端口(LocalDort)并调用listen方法。当客户端连接时(connect)就会触发connectionrequest事件,在connectionrequest事件中调用accept方法建立连接,同时在服务端的DataArrival事件中,把接收到的客户端传来的数据,转发给所有客户端。对于客户端程序必须知道服务端计算机名或其IP地址(RemoteHos

8、t属性),以及服务端监听端口(RemotePORT属性)然后调用connect方法建立连接任何客户端一方都可以发送.接收对方数据。其中数据调用DataArrival事件,在DataArrival事件中的GetData方法就可以获得传送来的数据。聊天系统的功能分析聊天系统的功能需求进行分析,首先,聊天系统采用c/s架构,由服务器和客户端组成。聊天系统服务器必须具有以下功能:(1) 启动服务器,建立侦听,接受客户端连接接收.分析.转发聊天信息向客户端发送系统信息关闭服务,并向客户端发送服务器关闭消息。为实现以上4种聊天服务器功能,需要建立以下四个类。(1)用户信息链表类:该类提供一个链表数据结构及

9、对一组链表的操作函数,用于保存用户信息;它提供了链表的添加.删除.查找的基本功能。(2)服务器主框架类:主框架类不仅提供了服务器的人机交互界面,而且在其中实现了服务器的启动和关闭以及服务器系统消息的发送功能。服务器侦听线程类:该类的父类为Thread类,它负责接收客户端的信息,并且对信息类型作出判断和相应的响应。比如,当它收到客户端下线信息,就会调用相应的函数,响应用户下线的请求。聊天客户端必须具有以下功能:(1)连接服务器,发送用户登录请求。(2)向服务器发送聊天信息(3)接收服务器转发的聊天信息接收服务器发送的系统信息(5)响应服务器关闭通知消息。为实现以上5种聊天客户端功能,需要建立以下

10、二个类。客户端主框架类:客户端主框架类除了完成与用户的交互作用外,它还实现了用户的登录与下线的功能,以及聊天信息的发送功能。客户端接收线程类:接收线程类的父类为Thread类,在该类中实现了信息接收的功能。该线程一经启动,就一直处于接收信息的状态,直到用户下线或服务器关闭。其中响应服务器关闭的功能也是在接收线程类实现的。第三章.聊天系统的实现聊天系统具有完整的会话功能,服务器具有建立侦听服、转发聊天信息响应用户下线、发送系统消息的功能,客户端具有请求登录、请求下线、发送聊天信息、接收聊天信息、接收系统消息的功能,下面通过对聊天系统的演示,了解聊天系统的功能需求。建立侦听服务初始状态的服务器主框

11、架上有两个按钮startserver和stopserver,分别用于启动服务器和关闭服务器。在初始状态时,按钮startserver处于允许状态,而按钮stopserver处于禁止状态。单击startserver即可启动服务器。当服务器成功启动后,会在界面上的JTextArea控件上显示提示信息,并且将startserver按钮设为禁止,而将stopserver按钮设为允许。服务器启动后,就进入侦听状态。用户登录用户登录的过程实际上是客户端请求登录和服务器响应登录两个过程。初始状态有具有两个按钮login和logout,分别用于用户登录和用户下线。在初始状态时,按钮login处于允许状态,而按

12、钮logout处于禁止状态。客户端主界面最下方的JTexField控制,在客户端未登录时,用于输入用户昵称。在客户端登录后,用于输入聊天信息。单击login按钮即可向服务器发岀登录请求。当服务器端接收到用户的登录请求后,就将该用户的相关信息保存在内部的数据结构中,改用户将视之为在线,并且服务器会向其他所有在线用户发送改用户的上线通知消息,而且随之会有所在的在线用户发送最新的用户列表,就用此刻列表中的用户信息更新原有的用户列表,并将其添加到界面上的JComboBox控件中。收发聊天信息收发聊天信息的过程实际上包含了客户端发送聊天信息和服务器转发聊天信息两个过程。当客户端进行登录,并且已经获得在线

13、用户列表后,就可以与其他的在线用户进行聊天,用户在客户端最底部的JTexField控制中输入聊天信息,并输入Enter键,聊天信息就会被发送出去。JTexField上方的两个JComboBox控件分别用来选择聊天信息的目标对象和发送聊天信息时的表情动作。当服务器收到某个在线用户的聊天信息后,它会根据用户指定的目标对象,准确地把聊天信息发送给特定的用户。收发系统信息系统信息的收发与聊天信息的收发不同,它只是单方向的,只能有服务器发给客户端,在服务器主界面低部的JTexField控制中输入系统信息,并键入Enter键,系统信息将被发送到所有客户端。当客户端接收到服务器发送的系统消息后,则将系统消息

14、显示在界面上。用户下线用户下线与用户登录一样,同样涉及客户端请求下线和服务器响应请求两个过程。当用户单击客户端上部的logout按钮时,客户端就会向服务器发送下线请求,当服务器端接收到该用户的下线请求后,则释放与该用户相关的资源。比如套接字、删除用户信息等。此外,服务器还向其他所有用户发送该用户下线通知,并且,向所有的在线用户发送最新用户列表。当客户端接收到服务器发来的用户下线通知后,就将信息显示在界面上,并且根据服务器随后发来的最新用户列表,对客户端主界面上的JComboBox控件内容进行更新。服务关闭当服务器关闭服务时,就向所有在线用户发送服务器关闭消息,并且关闭所有在线用户相连接的输入输岀流和套接字,将且将界面调整到初始状态。当客户端接收到服务器的关闭消息时,它将在界面上显示服务器关闭的提示信息,并且关闭与服务相连的输入输岀流和套接字,删除在线用户列表,并将界面调整到初始状态。第四章结论本文介绍了Internet的聊天系统的不同特点和技术分析,逐步分层分析讲解了聊天系统的实现。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号