WebSocket介绍

2018-06-22|来源:

WebSocket 规范的目标是在浏览器中实现和服务器端双向通信.双向通信可以拓展浏览器上的应用类型,例如实时的数据推送(股票行情),游戏,聊天/im 等.

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

websocket规范由两部分组成,一部分是浏览器中的 websocket api, 由w3c 制订, 一部分是websocket 协议, 由ietf制订,目前是draft状态.websocket的协议比较简单, 客户端和普通的浏览器一样通过80或者443端口和服务器进行请求握手,服务器根据http header识别是否一个websocket请求,如果是,则将请求升级为一个websocket连接,握手成功后就进入双向长连接的数据传输阶段. websocket的数据传输是基于帧的方式: 0x00 表示数据开始, 0xff表示数据结束,数据以utf-8编码.

在JavaEE7中也实现了WebSocket协议。

webSocket 目标: 打破传统的web请求响应模型, 实现管道式的 实时通信。
打开一个浏览器和服务器的通信通道,持续连接!
服务器给浏览器推送数据 非常方便!
web的实时消息通信: 聊天,股票,游戏,监控等等。
webSocket程序分为 2部分, 浏览器端和服务器端。
tomcat7开始支持webSocket, (支持最新webSocket开发规范  JSR356)


我们打开tomcat7的lib目录看看:

WebSocket-api.jar这个定义webSocket应用程序开发接口!
tomcat7-webSocket.jar tomcat服务器对于webSocket接口的实现!!

书生整理于网络

相关问答

更多

java websocket如何下载

我有WEBSOCKET所需包,直接复制到web_inf下面的lib里就好了。 或者你将TOMCAT自带的websocket包导入。 1. 右击项目,点击build path 2. 点击configure build path---java build path---add library----server runtime----apache tomcat v(版本号) 就把TOMCAT的包加入项目里了,主要是用他的websocket-api.jar包。 直接写代码就行了

netty+websocket怎么实现给指定用户推送消息

netty实现了websocket协议,有对应的handler,初始化handler如下: ChannelPipeline pipeline = ch.pipeline(); pipeline.addLast("codec-http", new HttpServerCodec()); pipeline.addLast("aggregator", new HttpObjectAggregator(65536)); pipeline.addLast("websocket-protocal-handle ...

websocket在java哪个包里面

websocket 是在tomcat里面的, tomcat 7.几以上就有websocket了, tomcat 7 以前的都没有websocket的

如何使用WebSocket

先装websocket服务器客户端 【java】kaazing websocket getway 【python】mod_pywebsocket 【javascript】node.js 回答 2. WebSocket JavaScript 接口定义 [Constructor(in DOMString url, in optional DOMString protocol)] interface WebSocket { readonly attribute DOMString URL; // rea ...

java怎么实现与websocket服务器的通信

websocket服务器的通信可以用tomcat-api来实现的, 以前做过一个简单的推送示例,2227421573帮你写好