2014-10-23 2 views
0

Итак, я проверил предыдущие ответы на этот вопрос, и ни один из ответов, похоже, не работал с моим кодом.проблема с socket.io: сокет не определен error

Сейчас я пытаюсь развернуть базу данных, которая сохранит мою историю чата, но сокет не определен. Ошибка продолжает возникать.

Вот проблемный код:

socket.on('person', function(msg){ 
    console.log('person: ' + msg); 
    socket.broadcast.emit('person', msg); 
    client.incr('msg_id', function(err, msg_id) { 
     console.log('msg_id', msg_id); 
     client.hset('history', msg_id, msg); 
    }); 
    }); 

socket.on ('человек', функция (МСГ) { ^ ReferenceError: сокет не определен

это потому, что я не имею определяется «лицо» должным образом на протяжении всего моего другого кода?

+0

Проблема заключается в другом месте в коде. Откуда возникает «сокет»? Вы ничего не убираете? – mscdex

ответ

0

ошибка говорит о том, что гнездо переменная не определена.

Ваш код должен быть размещен внутри socket.io подключение callback.

Полный пример использования Socket.io + экспресс:

var app = require('express')(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 

io.on('connection', function(socket){ 
    socket.on('person', function(msg){ 
    console.log('person: ' + msg); 
    socket.broadcast.emit('person', msg); 
    client.incr('msg_id', function(err, msg_id) { 
     console.log('msg_id', msg_id); 
     client.hset('history', msg_id, msg); 
    }); 
}); 
Смежные вопросы