You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WebSocket 对象作为一个构造函数,用于新建 WebSocket 实例。
const ws = new WebSocket('ws//localhost:8080')
执行上面语句之后,客户端就会与服务器进行连接。
WebSocket常量
Constant
Value
Status
WebSocket.CONNECTING
0
表示正在连接
WebSocket.OPEN
1
表示连接成功,可以通信了。
WebSocket.CLOSING
2
表示连接正在关闭。
WebSocket.CLOSED
3
表示连接已经关闭,或者打开连接失败。
switch(ws.readyState){caseWebSocket.CONNECTING:
// do somethingbreak;caseWebSocket.OPEN:
// do somethingbreak;caseWebSocket.CLOSING:
// do somethingbreak;caseWebSocket.CLOSED:
// do somethingbreak;default:
// this never happensbreak;}
// Create WebSocket connection.constsocket=newWebSocket('ws://localhost:8080');// Connection openedsocket.addEventListener('open',function(event){socket.send('Hello Server!');});// Listen for messagessocket.addEventListener('message',function(event){console.log('Message from server ',event.data);});
WebSokect介绍
轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。因此,工程师们一直在思考,有没有更好的方法。WebSocket 就是这样发明的。
WebSocket特点
(1)建立在 TCP 协议之上,服务器端的实现比较容易。
(2)与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。
(3)数据格式比较轻量,性能开销小,通信高效。
(4)可以发送文本,也可以发送二进制数据。
(5)没有同源限制,客户端可以与任意服务器通信。
(6)协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。eg:
ws://example.com:80/some/path
WebSocket客户端用法实例
客户端API
WebSocket构造函数
WebSocket 对象作为一个构造函数,用于新建 WebSocket 实例。
const ws = new WebSocket('ws//localhost:8080')
执行上面语句之后,客户端就会与服务器进行连接。
WebSocket常量
WebSocket属性
WebSocket.onclose
WebSocket.onerror
WebSocket.onmessage
blob
,arraybuffer
] 显式指定收到的二进制数据类型。WebSocket方法
WebSocket事件
使用 addEventListener() 或将一个事件监听器赋值给本接口的 oneventname 属性,来监听下面的事件。
close
当一个 WebSocket 连接被关闭时触发。
也可以通过 onclose 属性来设置。
error
当一个 WebSocket 连接因错误而关闭时触发,例如无法发送数据时。
也可以通过 onerror 属性来设置.
message
当通过 WebSocket 收到数据时触发。
也可以通过 onmessage 属性来设置。
open
当一个 WebSocket 连接成功时触发。
也可以通过 onopen 属性来设置
心跳
回车键监听 按回车不换行切发送消息
The text was updated successfully, but these errors were encountered: