use*_*858 10 javascript websocket
我有一个服务器Websocket连接的客户端应该在那里持续40秒左右.理想情况下它应该是永远开放的.
客户端不断向服务器发送数据,反之亦然.
现在我正在使用这个序列:
var socket;
function senddata(data)
{
if (!socket)
{
socket = new WebSocket(url);
socket.onopen = function (evt) {
socket.send(data);
socket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
port.postMessage(obj);
}
socket.oneerror = function (evt) {
socket.close();
socket = null;
}
socket.onclose = function(evt){
socket = null;
}
}
}
else
{
socket.send(data);
}
}
Run Code Online (Sandbox Code Playgroud)
显然,根据当前逻辑,在出现错误的情况下,可能根本不发送当前请求数据.
坦率地说,有时会给出websocket仍然处于连接状态的错误.由于网络问题,此连接经常中断.简而言之,它并不能很好地发挥作用.
我已经阅读了一个更好的设计:如何等待WebSocket的readyState更改,但不包括我需要处理的所有情况.
我也用Google搜索了这个,但无法得到正确的程序.
那么通过Websockets发送常规数据的正确方法是什么呢?它可以很好地处理连接中断等问题?
| 归档时间: |
|
| 查看次数: |
1312 次 |
| 最近记录: |