繁体   English   中英

节点服务器联机时的客户端事件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM