从nodejs代码中提升套接字事件

时间:2016-02-16 14:24:08

标签: node.js sockets tcp

我在节点中使用网络库。我想从我的代码中提出一个close事件。有什么方法可以做到吗?

如果存储了套接字对象,我可以在其上执行sock.destroy(),但不会通知客户端关闭连接,这会导致连接中断一半。

还有其他方法来处理这种情况吗?

1 个答案:

答案 0 :(得分:0)

向该特定套接字(客户端)发出自定义'kill_connection'事件,以便通知客户端由于您决定的原因而终止连接。

例如,使用socket.io

var csid = socket.id; //The socket you are going to destroy
io.to(csid).emit('kill_connection');

在执行套接字销毁之前执行此操作。

您的客户(如果是网络应用)可能如下所示:

socket.on("kill_connection", killSession);
    function killSession(){
       socket.disconnect();
       console.log("socket.disconnect");
       location.reload();
    }

如果您希望单页webapp显示登录屏幕,则重新加载。