Как подключится к комнате в socket.io?

685
16 марта 2017, 22:26

Следуя гайду на оффицаильном сайте socket.io я сделал простенький чат. Далее мне захотелось поделить этот чат на комнаты, где в рамках каждой комнаты будут отправляться свои сообщения, которые не будут видны в других комнатах. Изучив документацию я написал следующий код... На сервере:

io.on('connection', function(socket) {
        var room_name = socket.request.headers.referer; //Ссылка на страницу, где пользователь присоеденился к сокету (считай уникальное имя для комнаты)
        // Подключаемся к комнате
        socket.join(room_name, function(){
            //Пытаемся отправить сообщение в текущую комнату
            io.to(room_name, function () {
                socket.on('chat message', function (msg) {
                    io.emit('chat message', msg);
                });
            });
        });
    });

На клиенте:

    $(function () {
        var socket = io();
        //Когда мы сабмитим форму
        $('form').submit(function(){
            //Отправляем данные на обработку серверному коду.
            socket.emit('chat message', $('#m').val());
            $('#m').val('');
            return false;
        });
        //Ну и просто в нашем HTML коде создаём сообщение
        socket.on('chat message', function(msg){
            $('#messages').append($('<li>').text(msg));
        });
    });
READ ALSO
Получение GET переменной из URL&#39;а в JS

Получение GET переменной из URL'а в JS

Как с помощью JS считать GET переменную которая находится в URL'е? Например: http://siteru?data=value

372
Как выбрать все option в select multiple на angular?

Как выбрать все option в select multiple на angular?

Нужно сделать так что бы первоначально были выбраны все возможные option; Как это сделать? если я поставлю просто selected, ангуляру будет поровну

493
Свой текстовый редактор

Свой текстовый редактор

Хочу написать свой текстовый редактор, но не знаю даже с чего начатьЯ так понимаю что мне нужна консоль или поле ввода на подобии textedit(textview),...

366