2015-07-10 2 views
2

Вот подаст app.jsРаботы с Socket.io отправкой и получением объектов

io.on('connection', function(socket){ 

socket.on('ujwal', function (data) { 
    socket.emit('news', function(){ 
     console.log('testing'); 
    }); 
}); 

socket.on('disconnect', function(){ 
    console.log('user disconnected'); 
}); 

На ujwal случае я излучающий другое событие клиента вот мой index.html я включил сокет Lib тоже

var socket = io('http://localhost:3000'); 
    $('#test').click(function(){ 

     var as = "object"; 
     socket.emit('ujwal',as); 


    }); 

    socket.on('news', function (a) { 
     alert('receiving msgs'); 
    }); 

Теперь я открывать два окна каждый раз, когда пользователь нажимает тестовый идентификатор они получают, но которые не щелкая они не получают объект в передней части, почему? почему код означает всякий раз, когда вы получаете имя события ujwal, пожалуйста, стреляйте из новостей. А и B подключены к серверу. Щелкают тест ujwal, который запускается и проверяется сервером и снова отправляет новости, теперь все подключенные пользователи должны видеть предупреждение?

Это то, что я знаю, поэтому, пожалуйста, сделайте так, чтобы все пользователи могли получить предупреждение.

+0

В какой версии socket.io вы используете? Получаете ли вы какие-либо ошибки JavaScript перед началом мероприятия? – Jon

+0

его 1.3.5 никакой ошибки, когда я нажимаю test, я возвращаю объект, но когда вы нажимаете на тест i, и u должен возвращать объект обратно, но его не происходит, я не знаю, что не так с кодом или логикой –

ответ

1

Когда вы используете socket.emit(), вы испускаете непосредственно этот сокет, а не все сокеты. Чтобы испустить все розетки, испустите из io

io.on('connection', function(socket){ 

    socket.on('ujwal', function (data) { 
     //socket.emit('news', function(){ 
     io.emit('news', 'some message'); 
    }); 

    socket.on('disconnect', function(){ 
     console.log('user disconnected'); 
    }); 
+0

Прошу прощения его не работает ошибка, которую я получаю, - отсутствует обработчик ошибок на 'socket'. пользователь отключен Ошибка: обратные вызовы не поддерживаются при трансляции. –

+0

@ujwaldhakal задается вопросом, связано ли это с тем, что вы используете функцию вместо сообщения. –

+0

Я сейчас тестирую здесь, если у него есть новостное событие, а затем на стороне клиента все соединения будут проверять новости, если есть новости, тогда на экране каждого появится всплывающее предупреждение. Не знаю, что я делаю неправильно здесь. –

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