Не удается получить socket.io.js

На самом деле я работаю над небольшим проектом, где я должен воссоздать многопользовательскую игру с рисунками node.js, mongoDB, socket.io и canvas.

Ящик работает как шарм, и сервер, похоже, тоже работает. Я получил свой регистрационный/логин/сеансы и базу данных и работал, единственной проблемой является socket.io. Когда пользователь присоединяется к игровой комнате, он может видеть ящик и инструменты, но не соединение. Зачем? Браузер не может найти socket.io.js.

Что я сделал:

Я проверил, был ли он установлен, это с помощью npm install socket.io. Я проверил, запускал ли сервер его при включении сервера: Got "socket.io начал" в моей консоли. Я проверил свой код HTML, вот он:

<script type="text/javascript" src="/socket.io/socket.io.js"></script>

В соответствии с миллиардами обучающих/dev-сайтов/предметов справки, это должно работать. Но это не так. Открыв консоль моего браузера, я получил следующее:

X GET http://localhost:1337/socket.io/socket.io.js NOT FOUND.

Я не знаю, где проблема, я не могу понять это, и это дает мне огромную головную боль. Поэтому я здесь.

Заранее благодарим за помощь!:)

Ответ 1

Учитывая код в вашем комментарии, вы не используете правильную переменную для инициализации socket.io.

Попробуйте следующее:

var express = require('express');
var app     = express();
var server  = app.listen(1337);
var io      = require('socket.io').listen(server);
...

Таким образом, вместо того, чтобы socket.io "слушать" экземпляр Express, он должен прослушать то, что возвращает app.listen(...) (что является http.Server экземпляр).