2015-12-08 3 views
0

Я не могу решить эту проблему для жизни меня ... Мне нужна вторая пара глаз, чтобы помочь, пожалуйста! Я пытаюсь захватить значение «победителя» в функции, которая присваивает значение «победитель». Затем я хочу передать эти данные всем моим клиентам.Подключение событий к socket.io

здесь ссылку на мой репозиторий (найти код: фокус на (сервер) index.js линии 29 и (клиент) общественный/JS/Общие/фотолаборатории/play.js линии 38 и линия 100): https://github.com/omaracrystal/Capstone.Project.io

Эти шаги я принимаю:

1) общественности/JS/общие/фотолаборатории/play.js> линия 38

``socket.emit('winner known', winner);`` 

2) общественных/JS/общее/фотолаборатории/play.js> Линия 100

``socket.on('winner known', function (data) { 
     console.log(data); 
    })`` 

3) index.js> Линия 29

``socket.on('winner known', function (data) { 
     socket.broadcast.emit(data); 
    }; `` 

Что я делаю неправильно ???

ответ

1

Когда вы излучаете из сокета, вам нужно указать тип события. Итак:

io.on('connection', function (socket) { 
     var addedUser = false; 

     socket.on('winner known', function (data) { 
     socket.broadcast.emit(data); 
     }; 
}); 

Должно быть

io.on('connection', function (socket) { 
     var addedUser = false; 

     socket.on('winner known', function (data) { 
     socket.broadcast.emit('winner known', data); 
     }; 
}); 

Таким образом, ваш клиент сторона код знает, что искать.

1

В index.js вы использовали

io.on('connection', function (client) { //line 26 
     var addedUser = false; 

     socket.on('winner known', function (data) { //socket is undefined 
     socket.broadcast.emit(data); 
     }; 
}); 

Вместо этого используйте

io.on('connection', function (socket) { //'socket' is the instance of connected client's socket 
     var addedUser = false; 

     socket.on('winner known', function (data) { 
     socket.broadcast.emit(data); 
     }; 
}); 
0

При запуске сервера узла, у вас есть какие-либо ошибки: то, что не определена? Если вы можете начать его без каких-либо ошибок, это абсолютно бессмысленно.

Смежные вопросы