Helo, я работаю над мобильной игрой, которая требует связи в реальном времени от клиента к серверу.бинарный сервер xmpp?
Обычно я реализую сервер сокетов TCP и использую какой-то частный двоичный протокол, чтобы включить двунаправленную связь, и теперь я также рассматриваю сервер XMPP, такой как Ejabberd, который основан на стандарте. Но XML в некотором роде это действительно избыточно и неэффективно, особенно для мобильного приложения, это может означать увеличение трафика и потребления памяти.
- Должен ли XMPP использовать XML?
- Существует ли реализация XMPP, использующая двоичный формат данных как низкоуровневый формат данных вместо использования XML? (или я не должен выбирать XMPP и начинать с других стандартов или технологий.)
- Любая стратегия сокращения накладных расходов на отправку сложного объекта данных (не большого файлового объекта) с использованием XMPP?
Не уверен, что вы просите ... все, что XMPP собирается использовать XML - иначе это не XMPP. Редактирование: видимо, есть (joke) двоичный протокол XMPP: http://xmpp.org/extensions/xep-0239.html – Turch
Извините за непонятно, и я обновил вопрос. Разработчики протокола, похоже, не считают, что проблема заключается в использовании XML. на мой взгляд, даже JSON может сэкономить значительный избыточный трафик, чем XML. На основе некоторых поисковых API Google Talk также принимает двоичный формат, если я не ошибаюсь. –
Конечно, использование двоичного протокола имеет свои преимущества. Но у него также есть некоторые серьезные недостатки, которые решаются XMPP. В большинстве случаев использование накладных расходов на основе XML-протокола не учитывается. Не пытайтесь оптимизировать вещи, когда они вам действительно не нужны. Реализация полнофункционального протокола чата, такого как XMPP в двоичном формате, не является тривиальной задачей. Вот почему в мире с открытым исходным кодом такого не существует. И с сжатием потока, «шапками» и дальнейшей оптимизацией и XEP, XMPP может быть очень эффективным даже в средах ограничения ресурсов. – Flow