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