Node Socket.io客户端连接后认为已断开连接

aaa*_*rgh 5 sockets node.js socket.io

我的套接字将连接,但无法接收任一方向的消息。我设置了如下所示的日志记录。在服务器端,我看到正在记录连接,并在页面关闭时记录断开连接。如果我终止服务器,客户端会记录“套接字已断开”。但没有收到任何方向的排放。我做了更多日志记录并确定客户端套接字的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);
  });
});
Run Code Online (Sandbox Code Playgroud)

客户:

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.");
  });
});
Run Code Online (Sandbox Code Playgroud)

aaa*_*rgh 1

看起来问题出在socket = io.connect(document.URL);我尝试使用 socket.io 自动发现 via 上socket = io();,现在我的所有排放都工作正常。