77范文网 - 专业文章范例文档资料分享平台

Java聊天室毕业论文(4)

来源:网络收集 时间:2019-04-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

河南理工大学本科生毕业设计(论文)说明书

第一次握手,主机A向主机B发送连接请求 ACK=1 第二次握手,主机B收到主机A的请求,向主机A回发一个确认,,同时向主机A发送一个连接请求 主机A 主机B

图2-2 三次握手

SYN=1,SEQ=0 ACK=1,SYN=1,SEQ=0 第三次握手,主机A收到主机B发送的数据包在向主机B发送一个确认连接 (1)套接字客户端:

所谓的客户端/服务器。是一种能够在基于网络环境的分布处理过程中,使用基于连接的网络通信模型。该通信模型首先在客户机和服务器之间定义一套通信协议,并创建一个Socket类,利用这个类来建立一条可靠的链接;然后,客户端/服务器再在这条连接上可靠地传输数据。客户端发出请求,服务器监听来自客户机的请求,为客户端提供响应服务。 利用Socket类,我们可以轻松地实现网络客户端程序的编写。通常能够情况下,客户端只要能够顺序地处理服务器程序的响应就可以了,因此客户端程序通常不用使用多线程。

(2)套接字服务端:

要实现套接字的服务端,需要使用ServerSocket类。ServerSocket类是服务器程序的运行基础,它允许程序绑定一个端口等待客户端的请求,一旦产生客户端请求,它就接受这一请求,同时产生一个完整的Socket连接对象。服务器绑定的端口号必须公开,以便让客户端程序知道如何连接这个服务器。同时,作为服务器,他必须能够接收多个客户的请求,这就需要为服务器设置一个请求队列,如果服务器不能马上响应客户端的请求,

11

河南理工大学本科生毕业设计(论文)说明书

要将这个请求放进请求队列中,等服务器将当前的请求处理完,会自动到请求队列中按照先后顺序取出请求进行处理。服务器的资源是有限的,这就导致它的最大连接数是有限的,通过ServerSocket的构造函数可以指定这个最大连接数。如果不明确指定这个连接数,默认最大连接数为50,也就是说,客户端的请求队列最大能容纳50个请求,当超过了这个最大连接数时,用户的请求将不再会被响应。

由于存在单个服务程序与多个客户程序通信的可能,所以服务程序响应客户程序不应该花很多时间,否则客户程序在得到服务前有可能花很多时间来等待通信的建立,然而服务程序和客户程序的会话有可能是很长的,因此为加快对客户程序连接请求的响应,典型的方法是服务器主机运行一个后台线程,这个后台线程处理服务程序和客户程序的通信。这一点和客户端的程序设计是不同的。

12

河南理工大学本科生毕业设计(论文)说明书

3 规划设计

3.1 课题来源

根据当前网络的需求,网络聊天越来越受各种网民所青睐。因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时可以留着访客,更重要的是让访客透过聊天室实时的互相交流。而本人也学习过JAVA语言,对网络编程也较有兴趣,为了更好的考验自己对JAVA语言的掌握程度,本人就决定以《Java聊天室》为毕业设计,希望通过这一次能进一步提高本人的网络开发编程的能力。

3.2 需求分析

利用Java实现基于C/S模式的聊天程序,聊天系统不外乎两个方面,服务器端和客户端。服务器端程序主要负责侦听客户端发来的消息,客户端需登录到服务端才可以实现正常的聊天功能。简单分析一下两个方面所要完成的任务,对设计这个程序来说,等于完成了一半。首先来看一下服务器端的任务:

服务器端的主要功能如下:

(1)在特定端口上进行侦听,等待客户端连接。

(2)用户可以配置服务端的侦听端口,默认端口为8888。 (3)向已经连接到服务端的用户发送系统消息。 (4)统计在线人数。

(5)当停止服务时,断开所有的用户连接。

以上就是服务器端最主要任务。不难看出,服务器端的任务并不复杂。 客户端的主要功能如下:

13

河南理工大学本科生毕业设计(论文)说明书

(1)连接到已经开启服务的服务端。

(2)用户可以配置要连接服务器端的IP地址与端口号。 (3)用户可以配置连接后显示的用户名。

(4)当服务器端开启的话,用户可以随时登录与注销。 (5)用户可以向所有人或某一个人发送消息。

相对服务器而言,客户端的任务也不很复杂,有了以上的简单分析,可以知道,解决上述问题,即完成了该聊天系统的核心。

14

河南理工大学本科生毕业设计(论文)说明书

4 系统分析与设计方案

4.1 聊天系统的总体设计要点

聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:

(1)实现思想

在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。

(2)服务器端工作流程

服务器端通过socket()系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行侦听listen()。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。

(3)客户端工作流程

客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。

4.2 聊天系统的设计步骤

(1)聊天系统工作原理图

15

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java聊天室毕业论文(4)在线全文阅读。

Java聊天室毕业论文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/622874.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: