Java网络聊天室课程报告
1系统开发的意义及需求分析
1.1整体思路
该C/S模式的聊天系统,就是服务器来提供服务端连接响应,客户端主动的发起连接请求。当多个用户同时连接到服务器时,经由服务器的接收与转发便可以实现客户之间的通信。
对于整体系统的流程,也是分为两部分,即客户端的发起请求,服务器响应请求。首先是客户端设置所想要连接的服务器,然后客户端就会根据设置的服务器IP地址,向服务器发起建立连接请求。而服务器端是始终在监听网络状态的,主要检测到有一个连接请求,那么服务器就会给当前的发起端分配一个服务线程,用于处理它的各种请求。
1.2功能需求分析
    实现网络聊天的功能,采用Windows Socket(或Java Socket)编程,服务器与客户端采用了TCP/IP连接方式,在设计聊天方案时,可将所有信息发往服务器端,再由服务器进行处
理,服务器端是所有信息的中心。聊天系统不外乎两个方面,服务器端和客户端。简单分析一下两个方面所要完成的任务
服务器端的任务包括
1、服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接。
2、服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。
  以上就是服务器端最主要的两个任务。不难看出,服务器端的任务并不复杂。
客户端应该完成的任务包括:
1、与服务器端建立通信通道,向服务器端发送信息。
2、接收来自服务器的信息。
相对服务器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。
2.系统分析与设计方案
2.1开发环境及工具
本系统所用的工具:
服务器端:(Windows平台)首先应有java环境jdk,建议采用jdk1.4.2;Eclipse。
客户端: java环境jdk,建议jdk1.4.2;Eclipse。
本系统运行所需用到的环境为:
硬件配置 :
中央处理器(CPU) :P4 2.0G以上的处理器;
硬  盘:40GB以上硬盘;
内  存:256以上的DDR内存;
显  卡:128M以上显存显卡
软件配置:WINDOWS 7 版本、All-In-One-Eclipse-311、j2sdk-1.42等。
2.2系统功能流图
                        图1 系统功能流图
功能流程说明如下:
(1)启动服务器程序,服务器端创建一个ServerSocket对象,指定端口号。
(2)ServerSocket对象等候客户端的连接请求。
(3)启动客户端程序。
(4)客户端创建一个Socket对象,指定主机地址和端口号,向服务器发送连接请求。
(5)服务器端收到客户端请求,建立一条TCP连接,再创建一个Socket对象与客户端的Socket对象进行通信。
(6)服务器端和客户端分别建立字节输入/输出流,进行数据传输准备。
(7)服务器端和客户端通过各自的字节输入流获得对方发送过来的数据,通过字节输出向对方发送数据。
socket编程聊天室基本流程
(8)一方决定结束通信,向对方发送结束信息,另一方收到结束信息后,双方分别关闭各自的TCP连接。
(9)对象停止等候客户端连接请求。
2.3多用户实时工作原理图
图2 多用户实时工作原理图
注:服务器的run()方法中采用了while(true)结构,不断监听客户端的请求,如收到请求,建立与当前请求的客户端连接的套接字,从而与客户端建立联系。
3. 系统实现与最终效果
3.1系统工作的过程:
本系统的编译环境,及编写平台为java。主要用到的类为java包中的Socket类。以服务器所在的主机的ip为“220.167.46.7”所侦听的端口号为“6666”。分别先后启动服务器和客户端应用程序,客户端用户填入服务器的地址,当服务器收到客户端的登录请求后,客户端和服务器通过套接字建立了联系。建立连接后双方就可以相互通信:客户端在自己的文本框输入要发送的信息点击发送后,发送的信息就会显示在服务器和目的客户端的文本域中,同样服务器也可以在自己的文本框输入系统信息,点击发送信息按钮后,发送的信息就会显示在服务器和客户端的文本域中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。