Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在客户端检测套接字断开?_Node.js_Socket.io - Fatal编程技术网

Node.js 如何在客户端检测套接字断开?

Node.js 如何在客户端检测套接字断开?,node.js,socket.io,Node.js,Socket.io,我正在使用nodejs v0.11.0-pre和socket.io版本0.9.11,我想检测客户端的套接字断开。我用这段代码来做警报断开这一点,但似乎我做了一些错误的任何人都可以帮助,谢谢 客户: <script src="http://127.0.0.1:4000/socket.io/socket.io.js"></script> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></sc

我正在使用
nodejs v0.11.0-pre
socket.io版本0.9.11
,我想检测客户端的套接字断开。我用这段代码来做警报断开这一点,但似乎我做了一些错误的任何人都可以帮助,谢谢

客户:

<script src="http://127.0.0.1:4000/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script language="javascript" type="text/javascript">
  var socket = io.connect('127.0.0.1',{port:4000});
  console.log("connected");  
  socket.on('disconnect', function () {
        alert('disconnected');
    });
</script>
在服务器上一切正常,但在客户端断开连接时没有警报

服务器端和/或浏览器上没有连接 一边只有一个连接。如果其中一方关闭它, 然后它将关闭(并且您无法将数据推送到已关闭的连接) 明显关闭)来源:

但是,您可以自己从客户端关闭连接:

socket.disconnect();
服务器端和/或浏览器上没有连接 一边只有一个连接。如果其中一方关闭它, 然后它将关闭(并且您无法将数据推送到已关闭的连接) 明显关闭)来源:

但是,您可以自己从客户端关闭连接:

socket.disconnect();
按以下步骤进行:

<script src="/socket.io/socket.io.js"></script>

<script language="javascript" type="text/javascript">
    var socket = io.connect('127.0.0.1:8080');

    socket.on('connect', function() { console.log("connected"); });
    socket.on('disconnect', function () { console.log("disconnected"); });
</script>

变量套接字=io.connect('127.0.0.1:8080');
on('connect',function(){console.log(“connected”);});
on('disconnect',function(){console.log(“disconnected”);});
您的侦听器端口必须与connect使用的端口相同。

请执行以下操作:

<script src="/socket.io/socket.io.js"></script>

<script language="javascript" type="text/javascript">
    var socket = io.connect('127.0.0.1:8080');

    socket.on('connect', function() { console.log("connected"); });
    socket.on('disconnect', function () { console.log("disconnected"); });
</script>

变量套接字=io.connect('127.0.0.1:8080');
on('connect',function(){console.log(“connected”);});
on('disconnect',function(){console.log(“disconnected”);});
并且您的侦听器端口必须与连接使用的端口相同