资源描述:
《基于java的web聊天室系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实用第一智蔽密集海燕郑笑飞a,a。摘要本文讨论T用Jav开发Web柳天室系统的优点并给出了一个Jav聊天室系统的实例作者解、。、,决了其中的中丈传输显示及输入的问题该聊天室系统具有高效性健壮性和灵活性达到了。预期的设计目标,,一,,,关健字WEB柳天室JAvAUTF8异常哈希表广播、;.口一概述脚夭服务.喃天用户A】目时脚如叭肠胡成机-钱程,1人,,}}},叫聊天室(Cm)是Web站点提供的常用服务之一hatro一,它给麟天用户B;比妞,,了Sun翻l断目I作站网络用户带来了在线实时交流的机会而且使用起
2、来不需,,,。e要安装专门的聊天软件只需要浏览器即可Wb聊天室系统}连彼绷翅2卜},切.、。目前开发~由于其方便灵活和易于使用的特点而广受欢迎:,a,c-W七b聊天室系统的方法主要有以下几种CGIJavAav,。,a圈1Jav聊天室的结构tiexASP等等相比较起来Jav语言具有其优越之处、。:。aca-现在中文显示与网络传输不正常中文不能输人等方面在这【1]一是跨平台和可移植性好JavApnliation和Jav却。p、,个聊天室系统中我们将彻底解决中文的兼容性问题let程序几乎能在所有平台上编译执行
3、而象含Activex的.。,i,ce2具有健壮性即聊天室系统能够处理各种异常能够识页面主要针对x86的Wn32系统且在NeteaP浏览器中运行,一。a时需额外安装plugin二是使用Jav语言编写的聊天室能够别和控制客户端的各种行为能够返回清理不正常退出后所分,。。、配的系统资源能够踢出超时连接用户以减轻服务器负载等做到真正的实时聊天常见的CGIASP等方法一般是通过无,H,,虽然Java语言本身能够自动收集处理无用的对象【2]但我们连接的l丹协议来传输数据需要靠HTML页面的自动定时。。a刷新来模拟聊
4、天过程而JavAplet能够与服务器端建立永久仍然需要作一定的清理工作.。,,3广泛的适应性因为我们不能要求聊天用户必须使用某的冗P/IP连接用户的发言能够被马上传输和广播而且也,。,HTML。a种浏览器或操作系统因此所编写的Jav程序尤其是AP-不需要传输额外的内容三是Jav语言本身的功能非常,,ou,p适合于编写网络应用程序如鲁棒性(Rbst)完善的Natlet必须能在各种平台的各个版本的浏览器上都能正常运。,。a行考虑到网络用户的使用情况我们定的标准是能适应以下类库和多线程支持等等本文基于Jav语
5、言来开发一个完整的.,,:exca:-e。版本的浏览器Netsc即3NetspeCunicator4.InWb聊天室系统~temetExnl~3.x、4.x、5.x中英文版。、二结构与目标、三聊天服务器a基于Jav的Web聊天室系统包括聊天服务器和客户端两,ste。a,在聊天服务器中我们使用哈希表(Hahabl)来存储所部分聊天服务器是一个JavAplication与web服务器程序。e,。a有的连接线程主线程为Chatsrver对于每个新的客户连接运行在同一机器上客户端部分即是一个含JavAplet的
6、。,e,请求产生一个Connection线程同时我们还运行了一个检查线姗ML页面它由Wb服务器传送给客户端浏览器交由浏览r,,Java。程cctTi它相当于一个定时器每隔一定时间就器的虚拟机(vM)解释执行该Ap川el初始化后与聊天heckAivemee,,扫描所有的客户连接线程(即扫描Hashtabl)检查每个客户服务器进行连接聊天服务器对于每个连接请求产生一个连接,,连接是否超时(例如很长时间没有发言或者死机)并给出警线程(ConlectionThread)来维护和管理与该客户端的会。。告或直接踢出
7、(儿ck)用户话客户端的发言被传送到服务器端后由其向其他客户进行广,tanput~c,。a在网络传输过程中我们使用字节输人输出流Dal播(B功目ast)达到相互聊天的目的Jav聊天室系统结构autpuam、如图1所示:strealn和DatotStI’e的writeUTFreadUTF方法进行传送,一ce,接收这两个方法以UTF8编码方式来对Uniod字符串进为了让这个聊天室系统能够真正实用必须达到以下要,。:行编码和解码这样我们就能正确的进行中英文的传送虽然求.,,1.完善的支持中文。由于a在JDK1
8、1以上版本编译器中我们可以使用基于字符的流Jav编译器版本及运行环境的ue、nt,,a,如BferdRaderwriter等类进行网络传输但是经过试差异等原因在Jav语言的中文处理中常出现乱码等现象表Pri暇囊娜燕麟如滋热薰脚鞠,“7诫{鑫卿实用第一智撅密集感刀止r甘《侧目r倪刀卜丫过汉刁网引吕主弓菠州隆““,oea:eh(旧E戏ePt、onel){error(+验在某些旧的JavVM上(如正4所带的vM)仍然出现一警告用户·’”conae