2016-09-30 4 views
-1

я не могу показаться, чтобы получить гнездо для подключения к серверу, им не получать какие-либо ошибки, но не кажется, сокет будет делать соединение с сервером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"); 
}); 

ответ

0

Попробуйте вставить это в консоль разработчика (нажмите enter) и посмотрите результат отладки.

localStorage.debug = '*';

+0

В node.js лучший пакет для сокетов WS - https://github.com/websockets/ws – mabezdek

0

яваскрипт и узел являются асинхронными.

В вашем случае, эта линия

var io = require("socket.io").listen(server);

выполняется перед этой строкой:

`server = request({url: 'http://localhost:3000/api/designrooms' + designroomID})` 

из-за ваш запрос обратного вызова. Таким образом, ваш сервер не инициализирован.

Попробуйте переместить слушателя внутри обратного вызова запроса.

+0

Я пробовал, что все еще не подключался – lnewman

+0

Можете ли вы объяснить, что именно вы хотите. Я не могу понять вашу цель с вашего первого запроса. (отредактируйте свой вопрос). Кстати, вам нужно заставить ваш сервер прослушивать порт (3000 в вашем случае). 'Server.listen (3000);' –