Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Sails.io.js:检查是否建立了套接字连接_Angularjs_Node.js_Socket.io_Sails.js - Fatal编程技术网

Angularjs Sails.io.js:检查是否建立了套接字连接

Angularjs Sails.io.js:检查是否建立了套接字连接,angularjs,node.js,socket.io,sails.js,Angularjs,Node.js,Socket.io,Sails.js,我正在尝试将sails.io.js与nodewebkit 我正在使用以下行设置我的sails服务器的url: io.sails.url = "http://localhost:1337"; 我想知道套接字是否成功连接,以便在出现任何网络问题时提醒用户 我目前正在使用1000毫秒的超时来检查套接字连接是否建立: $timeout(function () { if(io.socket.socket.connected) socketConnected = true; else

我正在尝试将sails.io.js与
nodewebkit

我正在使用以下行设置我的sails服务器的url:

io.sails.url = "http://localhost:1337";
我想知道套接字是否成功连接,以便在出现任何网络问题时提醒用户

我目前正在使用1000毫秒的超时来检查套接字连接是否建立:

$timeout(function () {
  if(io.socket.socket.connected)
     socketConnected = true;
  else
     socketConnected = false;
}, 1000);    
若我不使用timeout,那个么它将异步运行,并且首先执行上面的函数,而不是套接字连接

如果不使用
timeout
,我是否可以知道是否建立了套接字连接。有什么想法吗


非常感谢

您可以使用
连接
事件来确定何时建立套接字连接:

io.socket.on('connect', function() {...});
但您仍然需要一个超时,因为您正在检查连接是否…超时

var socketTimeout = $timeout(function () {alert('socket timed out!');}, 5000);
io.socket.on('connect', function() {$timeout.cancel(socketTimeout);})