Socket.io连接到服务器
问题描述:
我不能似乎得到套接字连接到服务器,即时消息没有得到任何错误,但插座似乎并没有被用做服务器Socket.io连接到服务器
var request=require("request");
var server;
request({url: 'http://localhost:3000/api/designrooms'}, function (err,response, body) {
var designroomID = JSON.parse(body)[0]._id;
console.log(designroomID);
server = request({url: 'http://localhost:3000/api/designrooms' + designroomID})
});
var io = require("socket.io").listen(server);
io.on('connection',function(socket){
console.log("connected");
});
答
连接
尝试将其粘贴到开发人员控制台(按Enter键)并查看调试结果。
localStorage.debug = '*';
答
javascript和node是异步的。
在你的情况,这条线
var io = require("socket.io").listen(server);
在此行之前执行:
`server = request({url: 'http://localhost:3000/api/designrooms' + designroomID})`
因您的要求回调。所以,你的服务器没有初始化。
尝试移动你的听众请求回调里面。
+0
我试过了,仍然没有连接 – lnewman
+0
你能否准确解释你想要什么。您的第一次请求我实际上无法理解您的目标。 (编辑你的问题)。顺便说一句,你必须让你的服务器监听一个端口(你的情况是3000)。 'server.listen(3000);' –
在node.js是套接字WS的最佳套餐 - https://github.com/websockets/ws – mabezdek