基于JAVA+Myeclipse+jsp+局域网通信的聊天室
一、聊天室需求模型
1. 问题陈述
1.1课题研究背景及意义
在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似飞鸽等一类的聊天、文件传送系统的发展日新月异.
网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。
1.2技术方案的选取
1.2.1基本设计思想和处理流程:
采用客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。
1.2.2开发工具采
Myeclipse2014+Windows+jdk
二、聊天室结构设计
1.框架(ramework)
本聊天室采用了C/S的架构设计,将系统的业务控制、页面显示二大功能模进行了分离,从而使得系统结构清晰,代码更容易维护。以下是C/S的工作原理图示:
C/S框架组成部分如下
模型层:模型对象是应用程序的一部分,它实现了应用程序的数据定义的逻辑。通常,模型对象检索和存储了在数据库中的模型状态。模型层负责数据的查询与组织。
视图层:视图层是显示应用程序的用户界面(UI)的部分,通常,用户界面UI是由模型数据所创建的。在一个C/S应用程序中,视图层View只显示信息。
控制层:控制层是处理用户交互,对模型层起作用,并最终选择一个视图view来呈现那个显示的用户界面的部分。控制层controller处理并响应用户的输入和交互。
2、包(package)
3、类-接口(class-interface)
3.1登录功能
登录框中包含个人名称,设置服务器和端口,选择性别。
3.2窗口功能
聊天室界面最上一栏菜单栏可设定聊天字体、样式、颜色、字号,下部分别为群聊天显示界面和私聊显示界面。下部分为聊天界面,右部分为文件传输界面。可实现功能包括群聊功能(任意用户直接在编辑区编辑文字后点击发送,所有在线用户均可在群聊天界面看到聊天内容)、私聊功能(若在用户显示界面双击某位在线用户并且在聊天室界面最下部勾选“私聊”,则可以进行私聊,只有聊天双方可在悄悄话界面看到自己的聊天内容。)、截屏功能(此软件支持截屏功能,单击“截屏”按钮弹出截屏功能界面可以选择界面风格。单击“开始截取”按钮在屏幕上可截取画面,双击后可在截屏界面预览截屏效果。可选择将截屏图片复制到剪贴板或者保存到本地硬盘)、文件传送功能(用户在用户显示界面双击要发送到的联系人,勾选“私聊”选框后,把要发送的文件拖拽到“欲发送的文件”区域,点击“发送文件”按钮即可。若开始或中途想放弃传送则可单击“取消发送”按钮。用户点击发送后,在悄悄话区域会告知接收者发来文件,若接收者接收则单击“接收文件”按钮,然后设定本地保存位置;若不接收则点击“拒绝接收”按钮。
)。
截图功能
源代码:基于IP端口的聊天室