Сервер socket.io не прослушивает событие подключения (экспресс-сервер)

Я ударился головой о пару руководств, а также их документы, и кажется, что у меня все в порядке. Я ожидаю, что когда я перейду к localhost: 8080, сработает событие подключения, и должно появиться мое сообщение console.log.

// modules =================================================
var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io')(server),
    bodyParser = require('body-parser'),
    methodOverride = require('method-override')
;

// config files ============================================
var db = require('./config/db');

// configuration ===========================================
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 
app.use(methodOverride('X-HTTP-Method-Override')); 

app.use(express.static(__dirname + '/public'));

// routes  =================================================
require('./app/routes')(app);


io.on('connection', function(){
    console.log("Why won't this display anything");
});

// set port && listen
var port = process.env.PORT || 8080;
server.listen(port);
console.log('Server connected on port ' + port);

exports = module.exports = app;

person Crhistian Ramirez    schedule 26.02.2017    source источник
comment
Какой у вас есть клиентский код, который устанавливает соединение socket.io на вашей веб-странице? На странице клиента отображаются какие-либо ошибки?   -  person jfriend00    schedule 26.02.2017
comment
Ага! Вот оно. Я думаю, что немного забежал вперед, я думал, что эта часть не будет иметь значения, пока я не прослушаю событие io.sockets.on.   -  person Crhistian Ramirez    schedule 26.02.2017
comment
Я изменил var socket = new io.Socket('localhost',{'port':8080}); socket.connect(); на var socket = io.connect();   -  person Crhistian Ramirez    schedule 26.02.2017


Ответы (1)


Чтобы увидеть соединение socket.io на сервере, вам нужен клиентский код на вашей веб-странице, который создает соединение socket.io.

Обычно это выглядело бы так:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io();
  // do more things with the connection here
</script>
person jfriend00    schedule 26.02.2017