基于Html5WebSocket的IM系统分析

时间:2022-10-10 05:24:20

基于Html5WebSocket的IM系统分析

【摘要】本文从实际工程应用角度出发,系统前台采用Javascript,Html5,Web Stocket等技术实现,包括以界面功能为主,展现良好的客户体验富客户端,在页面上表现类似于QQ界面。系统后台采用My Sql,Spring,Java为主,以提供后台查询,消息服务器,远程离线数据存储等功能。实时 Web 应用的首选方案是WebSocket,能够解决以往B/S结构负载过重服务器端的问题,可以减少服务器布置的数量;并使软件的安装量减低,同时简化客户的操作学习难度,极大降低应用成本。设计内容包括身份验证、注册登录、在线聊天、离线信息传送和查询聊天记录等功能。

【关键词】WebSocket;Html5;IM(即时通讯)

1.绪论

通常情况下,通过http仅能实现单向的通信在浏览器中,而模拟双向通信可以采用comet,但其效率较低,并需要服务器有较好的支持;而实现真正的双向通信在flash中的socket和xmlsocket可以的,通过flex ajax bridge,可以在javascript中使用这两项功能。可以预见,如果websocket一旦在浏览器中得到实现,将会替代上面两项技术,得到广泛的使用。面对这种状况,HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯。WebSocket协议是HTML5一种新的协议。它是实现了浏览器与服务器全双工通信。

现很多网站为了实现即时通讯,大多所采用的技术都是轮询技术。指在特定的的时间间隔(每秒),服务器被浏览器发出HTTP请求,最新的数据被服务器返回给客服端的浏览器。这种传统的HTTP请求的模式带来很明显的缺点:需要浏览器不断的向服务器发出请求,而HTTP发出请求的头部又是非常长,即时包含的数据只是一个极小的值,这样也会占用很多的带宽。而达到轮询效果的Comet采用了AJAX技术是比较新的技术。它虽然可达到全双工通信,还是需要发出不断的请求。在WebSocket 应用程序界面中,浏览器和服务器只需做一个Handshake的动作,然后,服务器和浏览器之间就形成了一条快速通道。直接实现了数据的互相传送。在WebSocket协议中,实现即时服务有两个优点:一是头部,互相沟通的头部占用很小字节(约2字节)。二是服务器推送,数据被服务器主动传送给客户端。

在浏览器中实现和服务器端双向通信是WebSocket规范的目的。浏览器上的应用类型被双向通信所拓展,例如实时的数据推送(天气预报),网络Game,即时通信等。

最新版本的Google Chrome浏览器、苹果Safari浏览器、火狐狸浏览器以及欧朋浏览器支持某些HTML5特性。而IE浏览器9将支持某些 HTML5的特性。

HTML5定义了WebSocket协议,更好的节省服务器资源和带宽进行实时通讯。作为未来的Web标准,HTML5拥有许多新特性,如Local storage、Canvas、Multimedia programming interface、WebSocket等等。浏览器提供对 Socket 的支持就是WebSocket的出现成为可能,一个基于 TCP 连接的双向通道在浏览器和服务器之间被提供。实时web[5]应用被方便地使用WebSocket所构建。

2.系统架构比较

在Html5 Websocket呈现以前,Web版本的Im应用都是基于Ajax轮询的信令传输体式格式,这种体式格式的长处是调用Rest接口可以实现无状况保护信令传输,Server端都有成熟的Jsp、Php等技巧框架支撑;毛病不问可知,就是收集应用浪费Server负载过大等等。Websocket的呈现给Web端的信令传输供给了新的路子。

在Html5标准中的Websocket协议基础上,我们提出一种基于Websocket协议的实时Web解决方案,目的是大幅提升实时服务性能,并更高效地利用网络负载和服务器端的处理能力。

3.本系统功能介绍

最基本功能跟网络QQ相似,要拥有账号后才能登录进行相应的操作。本系统主要功能有:搜索好友、添加好友、删除好友、修改密码、两个人聊天和多人聊天。

系统登录界面如图2所示。

登录界面指的是需要提供帐号和密码验证的窗口界面,有保护操作安全的作用、控制用户权限等,系统默认自带10个测试帐号10001-10010。主界面、设置界面、消息界面、查询界面、编辑资料界面、聊天窗口界面等操作。

4.结束语

经过开发和测试和试运行。相对于传统的ajax技术,所采用websocket技术传递信息速度快,效率高,并且免去了ajax技术不断刷新页面的缺点,真正实现了即时通讯,甚至几乎能够媲美C/S架构的即时通讯软件。web即时通讯系统不需用户自己安装软件,只需服务器端配置完成后,用户输入地址登录即可。

本系统实现了一款即时通讯软件,它拥有Web QQ的所有优点。本软件比腾讯QQ更为方便快捷,它不需要下载客户端,在网页上登录就可以实现基础的即时通信服务。本系统运用websocket、java技术和数据库mysql相结合,实现了最基本的一些功能。该系统基于Web浏览器的即时通信服务,不需要下载客户端,打开浏览器即可完成即时通信。它具有Web原有的便利性特点,也保持了用户在客户端软件的一些操作习惯,它的推出丰富了大家的 “在线生活”平台。

参考文献

[1]郭欣.基于HTML5的通用WebIM组件的前端设计与实现[D].华中科技大学,2011.

[2](美)PaulS.Wang,Sanda S.Katila.Web设计与编程导论[M].高等教育出版社,2009:115-136.

[3]王宏宇,贾仰理.Java面向对象程序设计[M].北京:中国人民大学出版社,2009:123-196.

[4]钱宇虹.浅析Comet技术在Java Web实时系统开发中的应用[J].电脑知识与技术,2010(4):86-92.

上一篇:MPXAZ6115A压力传感器检测以及应用设计研究 下一篇:无线电定向系统的设计与实现研究