为什么事件侦听器在Socket.IO断开并重新连接后不响应?

为什么事件侦听器在Socket.IO断开并重新连接后不响应?,socket.io,socket.io-1.0,Socket.io,Socket.io 1.0,下面是一个简单的Socket.iov1.0应用程序,基于官方文档中的一个示例。连接后,服务器会发出一个“新闻”事件,然后不会发生其他任何事情 // app.js (excluding http handler) io.on("connection", function (socket) { socket.emit("news", { hello: "world" }); }); // client.js var socket = io(); socket.on("news", fu

下面是一个简单的Socket.iov1.0应用程序,基于官方文档中的一个示例。连接后,服务器会发出一个“新闻”事件,然后不会发生其他任何事情

// app.js (excluding http handler)

io.on("connection", function (socket) {
    socket.emit("news", { hello: "world" });
});
// client.js

var socket = io();
socket.on("news", function (data) {
    alert("Received news event");
});
在客户端,接收到“news”事件时会发出警报,而不会发生其他任何事情

// app.js (excluding http handler)

io.on("connection", function (socket) {
    socket.emit("news", { hello: "world" });
});
// client.js

var socket = io();
socket.on("news", function (data) {
    alert("Received news event");
});
当我按如下方式断开并重新连接到套接字时,服务器和客户端的socket.io调试日志都会显示正在发送和接收的“新闻”事件。但是,警报框仅出现在第一个连接上,而不出现在断开连接后的第二个连接上

socket.disconnect();
socket.connect();

// alert box expected here, but does not appear
但是,如果我按照中的建议(16小时前发布的)使用
socket.io
API,则会出现警报框

socket.io.disconnect();
socket.io.reconnect();

// alert box appears here
这是我的问题。v1.0中出现的
io
属性是什么?io上的disconnect/reconnect API与套接字实例上直接可用的disconnect/connect API有何不同