WebSocket

来源:百度文库 编辑:超级军网 时间:2024/03/29 05:31:14


http://baike.baidu.com/view/3623887.htm?fr=ala0_1

WebSocket 规范的目标是在浏览器中实现和服务器端双向通信.双向通信可以拓展浏览器上的应用类型,例如实时的数据推送(股票行情),游戏,聊天/im 等.   目前在浏览器中通过http仅能实现单向的通信,comet可以一定程度上模拟双向通信,但效率较低,并需要服务器有较好的支持; flash中的socket和xmlsocket可以实现真正的双向通信,通过 flex ajax bridge,可以在javascript中使用这两项功能. 可以预见,如果websocket一旦在浏览器中得到实现,将会替代上面两项技术,得到广泛的使用.   websocket规范由两部分组成,一部分是浏览器中的 websocket api, 由w3c 制订, 一部分是websocket 协议, 由ietf制订,目前是draft状态.websocket的协议比较简单, 客户端和普通的浏览器一样通过80或者443端口和服务器进行请求握手,服务器根据http header识别是否一个websocket请求,如果是,则将请求升级为一个websocket连接,握手成功后就进入双向长连接的数据传输阶段. websocket的数据传输是基于帧的方式: 0x00 表示数据开始, 0xff表示数据结束,数据以utf-8编码.   目前实现了websocket的浏览器好像只有chrome(4.0以上),而服务器端,也出现了一些实现websocket协议的项目:   jetty 7.0.1 包含了一个初步的实现   resin 包含有websocket 实现   pywebsocket, apache http server 扩展   websocket api在浏览器端的广泛实现似乎只是一个时间问题了, 值得注意的是目前服务器端没有标准的api, 各个实现都有自己的一套api, 并且jcp也没有类似的提案, 所以使用websocket开发服务器端有一定的风险.可能会被锁定在某个平台上或者将来被迫升级.

http://baike.baidu.com/view/3623887.htm?fr=ala0_1

WebSocket 规范的目标是在浏览器中实现和服务器端双向通信.双向通信可以拓展浏览器上的应用类型,例如实时的数据推送(股票行情),游戏,聊天/im 等.   目前在浏览器中通过http仅能实现单向的通信,comet可以一定程度上模拟双向通信,但效率较低,并需要服务器有较好的支持; flash中的socket和xmlsocket可以实现真正的双向通信,通过 flex ajax bridge,可以在javascript中使用这两项功能. 可以预见,如果websocket一旦在浏览器中得到实现,将会替代上面两项技术,得到广泛的使用.   websocket规范由两部分组成,一部分是浏览器中的 websocket api, 由w3c 制订, 一部分是websocket 协议, 由ietf制订,目前是draft状态.websocket的协议比较简单, 客户端和普通的浏览器一样通过80或者443端口和服务器进行请求握手,服务器根据http header识别是否一个websocket请求,如果是,则将请求升级为一个websocket连接,握手成功后就进入双向长连接的数据传输阶段. websocket的数据传输是基于帧的方式: 0x00 表示数据开始, 0xff表示数据结束,数据以utf-8编码.   目前实现了websocket的浏览器好像只有chrome(4.0以上),而服务器端,也出现了一些实现websocket协议的项目:   jetty 7.0.1 包含了一个初步的实现   resin 包含有websocket 实现   pywebsocket, apache http server 扩展   websocket api在浏览器端的广泛实现似乎只是一个时间问题了, 值得注意的是目前服务器端没有标准的api, 各个实现都有自己的一套api, 并且jcp也没有类似的提案, 所以使用websocket开发服务器端有一定的风险.可能会被锁定在某个平台上或者将来被迫升级.
比TCP/IP有什么好处么?除了使用80端口外
哦,想通了,因为你那个是一个通用标准, 如果我自己写一个com组件注册上javascript,就不是标准规范了。
HTTP & Java & HTML & CSS & JavaScript 感觉好沉重!无论服务端还是客户端!
这也行啊?我前段时间写了个服务器玩,总之一句话-把传统网页编程基于浏览器的客户端应用程序端。谷歌的基于浏览器操作系统思想,云计算...


我写过仿windows的浏览器管理界面。js 很难调试,演示的时候 js bug一大堆,很是丢脸。 我那个跟云计算好像也挂不上太大关系。 ls的云计算?咋解释?本地严格上来说就不是b/s了吧。因该挂了自己写的组件吧。哦,不好意思,这里是新概念武器区,上次我看见一个论文讲用内分泌算法用来优化网格计算的负载平衡的倒是比较有趣。

我写过仿windows的浏览器管理界面。js 很难调试,演示的时候 js bug一大堆,很是丢脸。 我那个跟云计算好像也挂不上太大关系。 ls的云计算?咋解释?本地严格上来说就不是b/s了吧。因该挂了自己写的组件吧。哦,不好意思,这里是新概念武器区,上次我看见一个论文讲用内分泌算法用来优化网格计算的负载平衡的倒是比较有趣。