【发布时间】:2014-12-16 09:54:18
【问题描述】:
我的套接字将连接,但无法从任一方向接收消息。我设置了如下所示的日志记录。在服务器端,我看到正在记录连接,并在页面关闭时记录了断开连接。如果我终止服务器,客户端会记录“套接字已断开连接”。但是没有接收到任何一个方向的排放。我做了更多的日志记录并确定客户端套接字的socket.connected 字段是false。
在这一点上,我完全不知所措。从字面上看,只要我建立连接,客户端就会认为它的套接字已断开连接,但是当我关闭浏览器窗口时,服务器仍然会看到它断开连接。我正在运行 socket.io 1.1.0。感谢您的帮助!
服务器:
io.sockets.on('connection', function(socket) {
logger.info('Socket connected. ID: ' + socket.id);
socket.on('refresh', function() {
logger.info('Refresh received from ID: ' + socket.id);
});
socket.on('disconnect', function() {
logger.info('Disconnect received from ID: ' socket.id);
});
});
客户:
var socket;
$(document).ready(function() {
socket = io.connect('http://localhost');
console.log(socket.connected);
socket.emit('refresh');
socket.on('disconnect', function() {
console.log("Socket disconnected.");
});
});
【问题讨论】: