node.js - 如何检测客户端的socket断开连接?

标签 node.js socket.io

我正在使用nodejs v0.11.0-presocket.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>

服务器:

var http = require('http');
var app = http.createServer().listen(4000)
,io = require('socket.io').listen(app);
io.sockets.on('connection', function (socket) {
    console.log("client has established :" + socket.id);
socket.on('disconnect', function () {
    console.log("client has disconnected :" + socket.id);
});       
});

服务器上一切正常,但客户端上没有断开连接的警报。

最佳答案

执行如下操作:

<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>

并且您的监听器端口必须与连接使用的端口相同。

关于node.js - 如何检测客户端的socket断开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20202753/

相关文章:

node.js - 在nodejs(express)中的router.route()中设置中间件

node.js - 上传到 Stripe.fileUploads 时使用 URL 文件

node.js - Express cookieSession 键未显示在数据 header 中

javascript - 客户端 Socket.io 持续断开并重新连接到 websocket

iOS模拟器测试多人游戏

node.js - 建立连接之前使用后备传输进行 Socket.IO 身份验证

node.js - 在 sequelize 中加入同一张表并在 excel 中打印

javascript - DynamoDB Javascript – 按主键和范围键数组查询?

javascript - node.js 无法获取/socket.io

javascript - 了解如何使用 NodeJS 创建一个简单的后端