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

时间:2016-12-16 20:47:15

标签: javascript node.js

在我的客户端节点代码中,我有类似这样的内容:

var socket = io('//localhost:1337');

$(function() {
    if ( !socket.connected )
        NodeOfflineError();
});

现在,让我们说我有一个NodeBackOnlineAlert()函数与NodeOfflineError()函数一起使用,我怎么知道何时调用它?

是否有用于检查服务器是否有效的轮询的监听器?

3 个答案:

答案 0 :(得分:1)

您可以使用socket io的侦听器事件(假设您使用socket 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/:)

答案 1 :(得分:1)

您可以拥有运行该功能的侦听器,并具有在断开套接字时重新连接的功能:

FREQ

答案 2 :(得分:0)

您可以使用服务器已发送事件:https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events。 MDN指南应该包含您实现它们所需的一切(它们非常简单!)。此库可能对您的服务器有用:https://www.npmjs.com/package/sse