Я знаю, что это может быть глупый вопрос, но я изучаю, как использовать WebSockets, и у меня проблемы с этим; Здесь я подключаю сокет-сервер
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(global.server);
server.listen(8080, function() {
console.info('Servidor corriendo en http://localhost:8080');
});
io.on('connection', function(socket) {
console.info('Un cliente se ha conectado');
socket.emit('messages', messages);
});
он работает в терминале, я получаю правильное сообщение, в клиентском представлении у меня что-то похожее;
extends ../layout
block content
script(src = "http://localhost:3000/socket.io/socket.io.js")
script(src='/javascripts/Enfermero/main.js')
И суть этой точки зрения ....
var socket = io.connect('http://localhost:8080', { 'forceNew': true });
socket.on('messages', function(data) {
console.info(data);
});
На проводнике всегда получаю:
GET http://localhost:3000/socket.io/socket.io.js net::ERR_ABORTED 404 (Not Found)
main.js:1 Uncaught ReferenceError: io is not defined
at main.js:1
(anonymous) @ main.js:1
Не могли бы вы мне помочь? Я провел небольшое исследование, но не понимаю, что происходит.





Вместо использования script(src = "http://localhost:3000/socket.io/socket.io.js") попробуйте использовать ссылочный путь script(src = "<path to socket.io>/socket.io/socket.io.js")
Кроме того, я думаю, что io инициализируется следующим образом:
socket = io('http://localhost');
socket.connect();
См. Документацию по клиентскому API здесь: https://socket.io/docs/client-api/
Надеюсь это поможет :)
просто используйте script(src = "/socket.io/socket.io.js"), socket.io.js находится в node_modules/socket.io-client, поэтому путь известен приложению.
скопируйте socket.io.js из /node_modules/socket.io-client/dist в общую папку, затем обратитесь к нему со своей страницы