2014-02-12 1 views
9

Я нахожусь в начале проекта по созданию приложения чата реального времени, охватывающего веб-сайт и приложение для Android. Поскольку я хочу предотвратить непрерывный опрос при любых вызовах API, я хочу использовать websockets (с которыми у меня нет опыта) и в процессе, я думал, что было бы неплохо изучить node.js. Поэтому мне нужно начать использовать websockets lib для node.js. Для этого я вижу, что есть довольно много вариантов. То, что я больше всего читаю, это socket.io.Какой драйвер узла node.js следует использовать?

Around SO Я также прочитал, что socket.io v0.9 был довольно неудачным, и я вижу несколько ссылок о том, что engine.io является новым бэкендом socket.io из версии socket.io 1.0, который предположительно «находится прямо вокруг угол». Все эти сообщения с 2012 года, хотя (this one for example), и когда у меня есть взгляд на socket.io website, я вижу, что они все еще находятся на v0.9, который заставляет меня задаться вопросом пару вещей:

  • является socket.io еще активно развивается?
  • is socket.io жизнеспособный вариант вообще, или мне нужно проживать в другой библиотеке?
  • , который вы бы рекомендовали для простого запуска, или же node.js теперь реализует хорошие сокеты (например, с помощью net.Socket)?

Все советы приветствуются!

+1

Ответ на http://stackoverflow.com/questions/16392260/which-websocket-library-to-use-with-node-js может быть пять месяцев, но достаточно вверх на сегодняшний день, чтобы ответить на ваши вопросы. – chbrown

+0

@chbrown - я тоже прочитал этот ответ, но это, в основном, список всех возможностей, вместо того, чтобы действительно давать вверх и вниз и рекомендации, по которым можно использовать. Опять же, хорошо видеть варианты, но мне было непонятно, какие из них лучше/легче других. Отсюда этот вопрос. – kramer65

ответ

3

is socket.io все еще активно разрабатывается?

https://github.com/learnboost/socket.io

мастер: автор 7 часов назад

Так что на самом деле в процессе развития в настоящее время.

is socket.io жизнеспособный вариант вообще, или мне нужно проживать в другой библиотеке?

Мы используем socket.io в нескольких проектах, и все в порядке. Возможно, вы должны настроить свои биения. Для нас это есть:

app.io = io.listen(app); 
logger.info('Setting up basic configuration.'); 
app.io.set('heartbeat timeout', 50); 
app.io.set('heartbeat interval', 20); 
app.io.set('browser client minification', true); 
app.io.set('store', new io.RedisStore(ioStoreSettings)); // also don't use in-memory store, it is hardly not recommended 
+0

Спасибо за ответ. Просто следующий вопрос; вы говорите, что socket.io - это «ОК», что для меня не слишком энтузиастично. Не могли бы вы поделиться тем, почему думаете, что это «хорошо», а не «отлично»? – kramer65

+0

@ kramer65 я думаю, что это здорово) Clear. Мы столкнулись с некоторыми проблемами (с повторным подключением, например, или с правильной обработкой клиента без аутентификации), но все они решены для нас. – yttrium

+0

Хорошо, спасибо. Хотя я, как правило, надеялся на обзор «он просто работает», я думаю, что мы будем собираться для socket.io. Просто последний вопрос: вы вообще используете последнюю сборку github, или вы живете в старых сборках? – kramer65