一、前言
我们现在的网络发展非常迅速,就拿小编经常玩的一个游戏来说吧——英雄联盟。这个游戏就是一个5V5的团队协作的游戏。他是一种基于帧同步完成的。这里我们说的websocket是一种管道式的同步,下面小编就向大家介绍一下。
二、websocket是什么?
在传统的web的BS请求响应模式下,是如何实现实时通信,实现反推送的呢?
一般的我们使用http是单向的,comet是可以实现双向通信,但是效率较低,需要好的服务器进行支持。传统的生命周期就是一个请求的结束。当下一个请求来的时候,就会重新建立。效率很低。websocket就可以解决这个瑕疵。HTML5中定义了WebSocket协议,可以在大大的节省服务器资源和带宽并达到实时通信的要求。
建立客户端和服务端之间的通信通道,持续连接。服务器给客户端推送数据方便,不用建立到各个用户之间的连接,可以直接通过通道来通知所有的用户。
应用:聊天、股票、游戏、监控。
三、操作步骤
介绍:
当用户登录的时候就建立一个通道,用户可以通过通道发送数据给服务器,服务器可以在通道中接收数据,也可以发送数据到客户端。
在这个数据处理的过程中,服务器可以进行监听,监听的方法有三种:onopen、onmessage、onclose。
onopen是打开连接的时候响应的事件
onclose是关闭连接的时候响应的事件
onmessage是客户端发送数据的时候响应的事件
四、小结
通过这次对websocket的学习,我了解了实时通信,了解了如何提升系统通信的效率,达到很好的效果。对其中的步骤有了深入的了解。另外还对自己比较感兴趣的实时通信技术也做了一些查看。
下一篇将向大家带来websocket实战——直播聊天室。