我正在开发一个在iPhone和服务器的App之间的SocketIO中进行双向通信的应用程序。
一旦app用户从应用程序断开套接字连接,就会发现在服务器端检测断开事件大约需要30秒。
我遇到麻烦是不能立即检测到服务器端的事件断开连接。
借用你的智慧。
io.sockets.on('connection', function (socket) {
socket.on('disconnect', function () {
//disconnection process...
});
});
(服务器端) ·NodeJS(v0.10.26) - Socket.io@1.3.6
(客户端) ·Swift1.6 - SIOSocket ·Xcode6.4
答案 0 :(得分:1)
除非您使用socket.disconnect()
明确关闭客户端上的套接字,否则无法立即检测到断开连接。这里进一步解释了:
https://stackoverflow.com/a/32009603/5169236
因此,如果您的应用只是丢失了互联网访问权限,关闭并从内存中删除等,并且您没有明确关闭套接字,则无法立即检测到它。