2013-12-20 7 views
2

В настоящее время я создал приложение в node.js для отправки уведомления всем клиентом, используя socket.io с mysql. Таким образом, любое изменение в моей базе данных mysql будет немедленно уведомлено о размножении клиентов через socket.io. Прелесть работы приложения.Как реализовать длительный опрос с помощью socket.io?

Проблема, с которой я столкнулся, связана с проблемой производительности.

Мой браузер получает постоянное push-уведомление с сервера, что замедляет работу моего браузера. I/Client необходимо получить уведомление только при изменении базы данных, остальное время, в течение которого Сервер должен находиться в состоянии паузы, без отправки какого-либо сообщения для очистки.

Другими словами, мне нужно реализовать длинную методику опроса.

Как реализовать длительный опрос с помощью socket.io?

Я гугле искать пример, но я не нашел ни одного, который мог бы помочь мне осуществить длинный опрос с Socket.io и MySQL в node.js

Можно ли осуществить длинный опрос с Socket.io ?

Если да, может ли кто-нибудь перенаправить меня на какую-нибудь полезную ссылку с примером?

Заранее спасибо.

ответ

7

Вы можете заставить socket.io использовать только длинный-опрос:

io.set('transports', ['jsonp-polling']); 

Но я не думаю, что долго-опрос является решением, которое вы ищете - для. Вы должны быть независимы от используемого метода. Я мог бы сделать что-то вроде этого:

function writeToMysqlDb(data) { 
    mySqlDriver.write(data); //whatever you use to write data to MySql 
    socket.emit('dbChanged', data); //send the same data to all connected clients 
}; 

Я хотел бы оставить транспорты для опции по умолчанию: «транспортирует по умолчанию в WebSocket, HTMLFILE, XHR-опрос, JSONP-опрос»

0

вы можете создать пул для объединения постоянного push-уведомления в одном уведомлении каждую секунду, чтобы уменьшить количество импульсов.

+1

привет Нельсон спасибо за ваши ответ. есть ли какие-то примеры того, как это должно быть реализовано ??? потому что я новичок в этом nodejs, socket.io и длительном мире опроса. любые примеры помогут мне. –

Смежные вопросы