当websockt连接是open的时候send()方法传送数据,当连接关闭或获取不到的时候回抛出异常。
一个通常的错误是人们喜欢在连接open之前发送消息。如下所示:
// 这将不会工作 var ws = new WebSocket("ws://echo.websocket.org") ws.send("Initial data");
正确的姿势如下,应该等待open事件触发后再发送消息。
var ws = new WebSocket("ws://echo.websocket.org") ws.onopen = function(e) { ws.send("Initial data"); }
如果想通过响应别的事件去发送消息,可以检查readyState属性的值为open的时候来实现。
function myEventHandler(data) { if (ws.readyState === WebSocket.OPEN) { ws.send(data); } else { } }
时间: 2024-10-27 17:38:19