Ответы пользователя по тегу Socket.io
  • Как в real-time показывать добавлений комментарий?

    @pasutavitaliy
    :)
    Глобально в вашем случае - нет разницы между выводом комментрия к посту всем кто на странице и выводом сообщения в чате всем кто в нем сейчас состоит. Поэтому примеры с чатами вполне подойдут.
    А логика примерно следущаяя:
    1) На сервере создать сокет сервер, который будет слушать по некому урлу:порту
    var express = require('express');
    var app = express();
    var io = require('socket.io')(http);
     http = require('http').Server(app);
     http.listen(yourPort, yourUrl, function () {
            console.log('App listening at http://%s:%s', yourUrl, yourPort);
            io.on('connection', function(socket){...}

    2) На клиенте подключится к этому урлу:порту
    socket = io.connect(yourUrl:yourPort, {secure: true, forceNew: true});

    3) На клиенте слушать некое событие из сервера. Например назовем его onCommentAdd
    socket.on('onCommentAdd', function(msg) {
            yourFuncToAddCommentInHTMLDOM(msg)
     });


    Где на месте msg будет вся необходимая информация с сервера о комментарии

    4) На сервере когда вы выполнили сохранение в базу комментария вызовите emit метод екземпляра вашего io c нужными параметрами. Примерно так
    Socket.emit('onCommentAdd', {author: "Vova", date: "1454576067", "text": "Azazazaza lalka" });


    В принципе это все, если всё сделаете правильно, то на клиенте получите новый коммент.
    Надеюсь, это поможет
    Ответ написан
    1 комментарий