Html5 Websocket开发指南.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Html5 Websocket开发指南

HTML5 Web SocketsHTML5 Web Sockets规范定义了Web Sockets API,支持页面使用Web Socket协议与远程主机进行全双工的通信。它引入了WebSocket接口并且定义了一个全双工的通信通道,通过一个单一的套接字在Web上进行操作。HTML5 Web Sockets以最小的开销高效地提供了Web连接。相较于经常需要使用推送实时数据到客户端甚至通过维护两个HTTP连接来模拟全双工连接的旧的轮询或长轮询(Comet)来说,这就极大的减少了不必要的网络流量与延迟。要使用HTML5 Web Sockets从一个Web客户端连接到一个远程端点,你要创建一个新的WebSocket实例并为之提供一个URL来表示你想要连接到的远程端点。该规范定义了ws://以及wss://模式来分别表示WebSocket和安全WebSocket连接。一个WebSocket连接是在客户端与服务器之间HTTP协议的初始握手阶段将其升级到Web Socket协议来建立的,其底层仍是TCP/IP连接。HTML5 Web Sockets使用HTTP Upgrade机制升级到Web Socket协议。HTML5 Web Sockets有着兼容HTTP的握手机制,因此HTTP服务器可以与WebSocket服务器共享默认的HTTP与HTTPS端(80和443)。要建立一个WebSocket连接,客户端和服务器在初次握手的时候从HTTP协议提升到Web Socket协议,如例1所展示的。一旦连接建立,WebSocket数据帧就可以以全双工的模式在客户端和服务器之间来回传输。尽管HTML5 Web Socket协议本身并不知晓代理服务器和防火墙,但它具有HTTP兼容的握手这一特色,因此HTTP服务器可以和WebSocket服务器共享它们默认的HTTP和HTTPS端口(80和443)。一些代理服务器于Web Sockets无害并且能很好的工作,其它一些有可能妨碍Web Sockets正常工作,导致连接失败。在一些情况下可能需要一些额外的代理服务器配置,而一些特定的代理服务器可能需要被升级以支持Web Sockets。如果一个浏览器被配置为使用显式的代理服务器(对于加密和未加密的WebSocket连接都是),那么在建立WebSocket连接时它首先会发出一个HTTPCONNECT方法到那个代理服务器。如果使用的是一个未加密的WebSocket连接(ws://),那么在透明的代理服务器情况下,浏览器是不知道代理服务器的,所以不会发送HTTP?CONNECT方法。因此,在目前的实践中连接通常会失败。如果使用的是加密的WebSocket安全连接(wss://),那么在透明代理服务器下,浏览器不知道代理服务器,所以不会发出 HTTP?CONNECT方法。然而,因为线上信息是加密的,中间透明代理服务器会简单的让加密信息通过,因此使用加密的WebSocket连接而成功建立WebSocket连接的几率就大大增加了。kaazing WebSocket网关是高度优化的,代理感知的WebSocket网关,提供原生的WebSocket支持和针对上一代浏览器的Web Socket模拟功能。如果中间代理服务器被检测到,那么下行HTTP信息流就会使用一个高度优化的加密流式连接。这是通过Kaazing底层通过跨源的HTTP和HTTPS请求支持来实现的。在这一方面,不管是原生的或模拟的方式,我们可以通过WebSocket网关100%的建立WebSocket连接。客户端javascript代码:$(document).ready(function()?{??????if(!(WebSocket?in?window)){??? $(#chatLog, input, button, #examples).fadeOut(fast);??? $(pOh no, you need a browser that supports WebSockets. How about a href=/chromeGoogle Chrome/a?/p).appendTo(#container);???}else{??? ? ??//The user has WebSockets ???? ? ? connect();????? ? ??function?connect(){??? ? ? ? ??var?socket;??? ? ? ? ??var?host?=?ws://localhost:8000/socket/server/startDaemon.php;???? //获取服务端socket对象? ? ? ? ??try{??? ? ? ? ? ? ??var?socket?=?

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档