1、前言
最近在公司的项目里发现了一个很有意思的东西:WebSocket。刚发现时觉得这东西太神奇了,竟然可以实现客户端(浏览器) 和服务器的全双工通信,使得服务器也可以主动地推送消息给客户端了。
既然发现了这么神奇的东西,那当然就禁不住手痒,自己也想去试试了。
2、什么是WebSocket
WebSocket是HTML5中的一个新的协议(新的API)。
它是一个持久化的协议,相对于HTTP这种非持久的协议来说。实现客户端(浏览器) 和服务器的全双工通信。在HTTP中,是不支持持久连接的且无状态的,一般都是由客户端发起一次request请求,然后服务器返回一次response结果,这样算一次HTTP请求。到了HTTP1.1,情况有了一些改变,有了keep-alive,在一次HTTP请求中,可以有多个request和response了,可是在这里,response还是被动的,也就是说只有request,才有response。那么对于一些时效性比较强的,如即时通信、实时数据、订阅推送等功能,我们就只能使用ajax轮询或长连接去完成,但是这样做可能会有很多不必要的请求,或者增加服务器的压力。
就在这时,WebSocket闪亮登场了,它真正的实现了web的实时通信。
3、WebSocket聊天室
既然这么神奇,那么不自己试一下怎么行哪?
下面就是我做的简易版(破烂版)聊天室。
ps:代码写得我自己都觉得很烂,请容我慢慢改进 [囧rz=З]
↑↑↑↑↑↑↑
(点点呗,反正不花钱[害羞])
4、大牛的解释
我知道自己的博客写得很烂 [囧rz=З],如果想了解更多的WebSocket,请看链接。
知乎搞笑版:https://www.zhihu.com/question/20215561/answer/40316953
java实现WebSocket服务器版:http://www.cnblogs.com/xdp-gacl/p/5193279.html

本文介绍了WebSocket这一HTML5的新特性,作为一种持久化的协议,WebSocket能够实现客户端与服务器之间的全双工通信,解决了传统HTTP通信中服务器无法主动推送消息的问题。文中还分享了一个简单的聊天室示例。
1054

被折叠的 条评论
为什么被折叠?



