对websocket的了解

websocket连接允许客户端和服务器之间进行全双工通信,以便客户端和服务端都可以通过建立的连接将数据推送到另一端。只需要建立一次连接,就可以一直保持连接状态,keep-alive.

而在http 1.0 时,如果需要实时的信息或者监听服务端某个内容变化,使用较多的是轮询。使用轮询的话服务器以及客户端都会负载压力过大,服务器端占用较多宽带与内存,客户端发送请求数过多,而且相对于使用websocket,轮询会有一定的延迟,一般以轮询间隔时间为准。

客户端websocket
1.websocket属性:
1.Socket.readyState
表示连接状态。
0----表示连接尚未建立
1----表示连接已建立,可以进行通信
2----表示连接正在进行关闭
3----表示连接已经关闭或者连接不能打开
2.Socket.bufferedAmount
只读属性bufferedAmount已被send()放入正在队列中等待传输,但是还没有发出的UTF-8文本字节数。
2.websocket事件
1.Socket.onpen
连接建立时触发
2.Socket.onmessage
客户端接受服务端数据时触发
3.Socket.onerror
通信发生错误时触发
4.Socket.onclose
连接关闭时触发
3.websocket方法
1.Socket.send()
使用连接发送数据
2.Socket.close()
关闭连接

示例:
示例

猜你喜欢

转载自blog.csdn.net/weixin_39950595/article/details/84246646