Задать вопрос

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

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


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

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

Похожие вопросы