2016-02-09 2 views
0

Поэтому я переместил app.listen в начало, но теперь он дает мне ошибку, что порт используется. Я считаю, что это связано с тем, что я установил свой websocket на этом порту, но как мне это сделать?Node.js express ничего не печатает

var server = require('websocket').server, http = require('http'); 
var express = require('express'); 
var app = express(); 
app.listen(8080); 

var socket = new server({ 
    httpServer: http.createServer().listen(8080) 
}); 


socket.on('request', function(request) { 
    var connection = request.accept(null, request.origin); 

    app.get('/', function(request, response) { 
     var id = request.query.steamid; 
     console.log("STEAMID:",id); 
     response.send("I have received the ID: " + id); 
    }); 

    connection.on('message', function(message) { 
     connection.sendUTF(message); 
    }); 

    connection.on('close', function(connection) { 
     console.log('connection closed'); 
    }); 
}); 

ответ

0

Я считаю, что вы должны слушать на connection, а не на request

socket.on('connection', function(sock) {  
    sock.on('message', function(message) { 
     sock.send(message); 
    }); 

    sock.on('close', function() { 
     console.log('connection closed'); 
    }); 
}); 
+0

Благодарности @VickyGonsalves для ответа, я отредактирован немного моя тема. – Nedas

0

положить app.listen(3000); вне запроса события. , так что ваш экспресс-сервер получит возможность инициализировать порт для прослушивания.

В настоящее время он находится в обратном вызове request event, и он будет вызван после установления соединения клиент-сервер в сети.

Насколько URL концерна

ws://localhost:8080/?steamid=123456789 

вы настроили WebSocket для прослушивания порта 8080.But ваш экспресс настроен на прослушивание порта 3000.So не удается поймать запрос на экспресс-сервер настроен на разные порт, который запрашивается через веб-сокет, настроенный на другом другом порту.

Адрес должен быть таким.

http://localhost:3000/?steamid=123456789 

, потому что ваш экспресс-сервер с помощью http protocol and not websocket

+0

Пожалуйста, посмотрите мой код выше. Значит, он только анализирует переменные в http? Как я могу их проанализировать в javascript websocket? – Nedas

+0

Я не получаю вас –

+0

U r, используя тот же порт как для экспресс-доставки, так и для websocket. Пожалуйста, используйте разные –

Смежные вопросы