0

我试图在允许客户端连接到它之前检测 websocket 是否正在运行。考虑以下代码:

var socket = io.connect('1.1.1.1:1234');
        socket.on('connect',function() {
            console.log('Client has connected to the server');
        });

        socket.on('disconnect',function() {
            console.log("The client has disconnected from the server");
        });

如何确保仅在该 IP 上的服务器实际运行时才调用此块,以及如何向用户输出一条消息,说明服务器未启动?

谢谢

4

1 回答 1

1

您需要至少触发一次 io.connect() (将其视为 ping)以检测服务器是否已启动,但您可以使用 socket.on('connect_failed', function () { }) 事件处理程序并向用户显示“服务器已关闭”的消息。
查看客户的公开事件

此外,如果您想减少尝试重新连接的次数,可以将“重新连接”的 socket.io 配置设置更改为 false。
查看 Socket.io配置以获取更多详细信息

于 2013-05-02T04:42:51.717 回答