Как в real-time показывать добавлений комментарий?

есть таблица с списком постов и таблица с списком комментариев к ним которые связаны по ID поста. При добавление нового комментария мне нужно его сразу отобразить. Советовали socket.io но не могу никак в нем разобраться, нахожу примеры только с чатами а к комментам прикрутить не могу помогите примером или советом. Спасибо
  • Вопрос задан
  • 773 просмотра
Решения вопроса 1
@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" });


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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы