【发布时间】:2013-09-26 19:22:20
【问题描述】:
目前,我正在使用 nodejs express 实现一个 API,然后它需要连接到 socket.io 并发送事件。
API位于socket.io-client(客户端),它连接到socket.io(服务器)
第一次 API 调用:成功
在第一次调用 API 时建立连接,发送消息并断开套接字,并在客户端和服务器端调用“断开”回调。
第二次 API 调用:失败
第二次调用API时,无法与服务器建立连接,客户端的'client'回调没有被调用。
第三次 API 调用:成功
然后我尝试重新启动客户端,保持其他内容不变。再次调用API,成功连接socket.io,一切正常。
谁能解释一下这背后的逻辑?
更新
client.js
App.getByUserId(message.to_id, function(error, app) {
var socket = io.connect('http://127.0.0.1:9002');
socket.on('connect', function(){
console.log("client connect socket id:" + socket.id);
console.log("appkey:" + app.private_token);
socket.emit('appkey.check',{appkey: app.private_token, uuid: message.to_id.uuid}, function(data){
socket.emit("forceDisconnect");
socket = null;
});
});
【问题讨论】:
-
请显示导致此结果的代码。