我正在使用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>
服务器:
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/