我尝试将sails.io.js与nodewebkit
我使用以下行设置我的风帆服务器的网址:
io.sails.url = "http://localhost:1337";
我想知道如果socket连接成功与否,我可以在有任何网络问题时提醒用户。
我目前正在使用1000毫秒的timeout
来检查是否已建立套接字连接:
$timeout(function () {
if(io.socket.socket.connected)
socketConnected = true;
else
socketConnected = false;
}, 1000);
如果我不使用超时,它会异步,并且首先执行上面的函数而不是套接字连接。
如果不使用timeout
,我是否可以知道是否建立套接字连接。有任何想法吗?
非常感谢
答案 0 :(得分:0)
您可以使用connect
事件来确定何时建立套接字连接:
io.socket.on('connect', function() {...});
但是你仍然需要暂停,因为你正在检查连接是否......超时!
var socketTimeout = $timeout(function () {alert('socket timed out!');}, 5000);
io.socket.on('connect', function() {$timeout.cancel(socketTimeout);})