[英]Client-side event when Node server comes online
在我的客户端节点代码中,我有类似以下内容:
var socket = io('//localhost:1337');
$(function() {
if ( !socket.connected )
NodeOfflineError();
});
现在,假设我有一个NodeBackOnlineAlert()
函数与NodeOfflineError()
函数一起使用,我怎么知道何时调用它?
是否存在用于侦听轮询的侦听器,以检查服务器是否处于活动状态?
您可以使用套接字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/上检查显示“发送和接收事件”的部分:
您可以具有运行该函数的侦听器,并具有在套接字断开连接时重新连接的函数:
socket.on("disconnect", function() {
NodeOfflineError();
socket.socket.reconnect();
});
socket.on("connect", function() {
NodeOnlineAlert()
});
socket.on("reconnect", function() {
NodeBackOnlineAlert()
});
您可以使用服务器发送事件: https : //developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events 。 MDN指南应包含实现它们所需的一切(它们非常简单!)。 该库可能对您的服务器有用: https : //www.npmjs.com/package/sse
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.