У меня возникли проблемы с подключением к socket.io. С приведенным ниже кодом я продолжаю получать ошибку «io не определен» на моей консоли браузера. Кто-нибудь знает, что я здесь делаю неправильно? Я ковыряться StackOverflow в течение нескольких часов, но никакого решения не похоже на работу ...Узел + Socket.io Проблема подключения
стороне сервера:
,db = require("../../lib/db")
,config = require("../../config")
,app = require("../index")
,io = require('socket.io')(app);
;
io.on('connection', function (socket) {
console.log('connected')
});
exports.render = function(req, res){
console.log(io)
res.render("vitron", {});
}
стороне клиента:
<!doctype html>
<html>
<head>
<title>Sockets</title>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
</head>
<body>
</body>
</html>
Проверьте журналы ошибок браузера так увидеть, если есть ошибка загрузки '/socket.io/socket.io.js'. Если есть, то проблема заключается в том, что на вашей стороне инициализации 'socket.io' отсутствует запрос промежуточного программного обеспечения, который будет запрашивать файл socket.io.js клиенту по запросу. Он не подается автоматически, если вы не выполняете правильную инициализацию промежуточного программного обеспечения. В файле socket.io есть множество примеров инициализации. – jfriend00
Спасибо за помощь! У меня есть следующая ошибка: GET http: // localhost: 4602/socket.io/socket.io.js Извините за мое невежество, но о каком вызове промежуточного программного обеспечения вы имеете в виду? – austin809
Это говорит о том, что у вас нет правильной инициализации на стороне сервера, поэтому ваш сервер приложений автоматически обслуживает файл '/ socket.io/socket.io.js'. – jfriend00