欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTML5 WebSocket

程序员文章站 2022-05-31 18:45:56
...

1.WebSocket的优缺点

大并发时传输量的减少,网络负载对比


HTML5 WebSocket

图片来自:http://www.ibm.com/developerworks/cn/web/1112_huangxa_websocket/

 

时延减半:


HTML5 WebSocket

图片来自:http://kb.cnblogs.com/page/58908/

 

缺点是现在规范的支持还不是很完善,浏览器的支持也非常的有限,并且需要服务器进行支持,不过这些都是可以慢慢的改进,找到确实的应用场景,还是可以用上去的

 

2.Web Socket客户端API:

onopen        请求握手成功后,回调方法(应用场景:用户登录后的提示)

onmessage  服务器端主动向服务器推送消息回调方法(由服务器向客户端推送消息)

onerror        连接过程出现异常时的回调

onclose        连接中断回调

 

当然,如果深入去理解的话,我们可以去看看html5 websocket的草案,看看请求头需要带的参数是什么,以遍以后出问题的时候可以查看。在IBM文档框上有一个文章写得挺好:《web socket 构建实时应用

 

3.Web Socket服务端API

web socket 的upgrade如下:

 

GET /demo HTTP/1.1 
Host: example.com 
Connection: Upgrade 
Sec-WebSocket-Key2: 12998 5 Y3 1 .P00 
Upgrade: WebSocket 
Sec-WebSocket-Key1: aaa@qq.com 46546xW%0l 1 5 
Origin: http://example.com 
[8-byte security key] 

 那么服务器端用C++或者是Python或者是Java都可以做这些事情

 

4.tomcat服务器的支持

在ITEYE上即可看到tomcat7.0.27版本已经添加了对websocket的支持:Apache Tomcat 7.0.27发布,支持websocket

 

tomcat7.0.27的文档已经说明了web socket尚处于草案阶段:tomcat7.0.27websocket文档

 

后续API还可能改变,不过现在如果是基于手机端的还是可以用得上吧,下了tomcat7.0.27,里面还有demo和demo的源码可以运行,非常不错的说,示例的源码在上述这个链接中,在控制台上输入http://localhost:8080,点击examples

 

 

参考:使用HTML5 WebSocket构建实时应用