我正尝试在nodewebkit中使用sails.io.js
我使用下面的代码行设置我的sails服务器的url:
io.sails.url = "http://localhost:1337";我想知道socket连接是否成功,这样如果有网络问题,我就可以提醒用户。
我目前使用的是1000毫秒的timeout,检查套接字连接是否建立:
$timeout(function () {
if(io.socket.socket.connected)
socketConnected = true;
else
socketConnected = false;
}, 1000); 如果我不使用超时,它就会变成异步的,上面的函数会先被执行,而不是套接字连接。
有没有办法在不使用timeout的情况下知道套接字连接是否建立?有什么想法吗?
非常感谢
发布于 2015-02-04 00:55:32
您可以使用connect事件确定建立套接字连接的时间:
io.socket.on('connect', function() {...});但是你仍然需要一个超时,因为你要检查一个连接is...timing是否超时了!
var socketTimeout = $timeout(function () {alert('socket timed out!');}, 5000);
io.socket.on('connect', function() {$timeout.cancel(socketTimeout);})https://stackoverflow.com/questions/28297792
复制相似问题