Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (8)
  • Как отправить сообщение к конкретным пользователям?

    Aliansys
    @Aliansys
    Из документации socket.io (отправка сообщений)
    // отправить текущему сокету сформировавшему запрос (туда откуда пришла)
    socket.emit('message', "this is a test");
    
    // отправить всем пользователям, включая отправителя
    io.sockets.emit('message', "this is a test");
    
    // отправить всем, кроме отправителя
    socket.broadcast.emit('message', "this is a test");
    
    // отправить всем клиентам в комнате (канале) 'game', кроме отправителя
    socket.broadcast.to('game').emit('message', 'nice game');
    
    // отправить всем клиентам в комнате (канале) 'game', включая отправителя
    io.sockets.in('game').emit('message', 'cool game');
    
    // отправить конкретному сокету, по socketid
    io.sockets.socket(socketid).emit('message', 'for your eyes only');
    Ответ написан
    19 комментариев
  • Добавление и удаление класса по истечению времени, на странице - как?

    Aliansys
    @Aliansys
    Что касательно Таймаута, то this в анонимной функции уже будет ссылаться не туда куда вы хотите. Нужно делать либо замыкание, либо использовать .bind, в современных браузерах.

    Пример:
    setTimeout (function(){
                $(this).removeClass('selected');
             }.bind(this), 1000);

    В .bind первым аргументом отдается контекст. Больше можете почитать в гугле )
    Ответ написан
    Комментировать
  • Как передать данные при коннекте Socket IO?

    Aliansys
    @Aliansys
    Я бы предложил Вам попробовать вынести всю работу с сокетами в одно место, то есть либо все за пределами document.ready, либо все внутри. А то у вас событие onConnect навешивается в doument.ready, а коннект к серверу происходит до этого момента. Возможно listener просто еще не навешан, когда вы соединяетесь с сервером.
    Ну и побольше консоль логов написать, чтобы понять в каком месте что не отрабатывает. С виду все написано верно, что касается самих пересылок сообщений.
    Ну и да, на сервере socket.emit отправит сообщение самому себе. Но второе (socket.broadcast.emit) должно сделать то что вы хотите (отправит всем, кроме себя).
    Ответ написан
    Комментировать
  • Как вернуть конкретный элемент из массива js?

    Aliansys
    @Aliansys
    Может вам лучше посмотреть в сторону .filter? Он вернет массив элементов удовлетворяющих необходимому условию.
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (2)