在我的客户端节点码客户端的事件,我有这样的事情:当节点服务器联机
var socket = io('//localhost:1337');
$(function() {
if (!socket.connected)
NodeOfflineError();
});
现在,让我们说我有一个NodeBackOnlineAlert()
功能与NodeOfflineError()
功能走,我怎么知道什么时候打电话?
是否存在用于检查服务器是否存活的轮询侦听器?
在我的客户端节点码客户端的事件,我有这样的事情:当节点服务器联机
var socket = io('//localhost:1337');
$(function() {
if (!socket.connected)
NodeOfflineError();
});
现在,让我们说我有一个NodeBackOnlineAlert()
功能与NodeOfflineError()
功能走,我怎么知道什么时候打电话?
是否存在用于检查服务器是否存活的轮询侦听器?
您可以运行的功能,并具有一种功能,当插座断开重新连接监听器:
socket.on("disconnect", function() {
NodeOfflineError();
socket.socket.reconnect();
});
socket.on("connect", function() {
NodeOnlineAlert()
});
socket.on("reconnect", function() {
NodeBackOnlineAlert()
});
您可以使用套接字IO的监听器事件(假设你使用套接字IO)
const socket = io('//localhost:1337')
$(() => {
socket.on('connected', socket => {
console.log('connected!')
socket.on('disconnect',() => {
NodeOfflineError()
})
})
socket.on('reconnect',() => {
NodeBackOnlineAlert()
})
})
http://socket.io/docs/检查部分地方说,“发送和接收事件”也http://socket.io/docs/client-api/ :)
你可以使用服务器发送事件:https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events。 MDN指南应该有你需要的一切来实现它们(它们非常简单!)。这个库可能被证明为您的服务器有用:https://www.npmjs.com/package/sse
不回答问题。如果不是不可能可靠地使用SSE来传递关于节点连接的实时信息,则这是非常不切实际的。 – SISYN
@DanL其实sse非常可靠。 – Darkrum