XMPP через HTTP или через сокет - PullRequest
4 голосов
/ 06 июля 2011

Мне было интересно, если я должен реализовать XMPP-клиент, какое соединение лучше всего использовать сокет или BOSH?Каковы плюсы и минусы?Я предполагаю, что оба могут поддерживать клиентов в сети, отличной от сервера?

Ответы [ 2 ]

3 голосов
/ 07 июля 2011

Я думаю, что самая большая разница между сокетом и bosh в том, что bosh использует HTTP, который не имеет состояния (соединение закрыто) по сравнению с сокетом. Это означает, что вы можете подключиться к XMPP из браузера при использовании BOSH. Я не понимаю, почему вы хотите создать BOSH-клиент, потому что strophe.js - очень хороший bosh-клиент. Также уже есть реализация сокетов практически на любом доступном языке. Это хорошая мысль о XMPP, если вы спросите меня.

1 голос
/ 08 июля 2011

Это, безусловно, не исчерпывающий список всех плюсов и минусов, а те, с которыми я столкнулся, пытаясь реализовать межсетевое зашифрованное соединение Openfire.

Socket One Pro для Socket Connection: поддерживает автоматическое шифрование TLS.

One Возможные недостатки Socket Connection: я недавно узнал, что использование сокетных соединений может быть проблемой, еслиСервер Openfire находится в другой сети, чем клиент, подключающийся к этому серверу, и в этом случае возможность подключения к серверу может зависеть от брандмауэра подключающихся сетей и возможности подключения через стандартный порт сокета 5222.

HTTP-Bind

Pro Http-Bind: может решить вышеупомянутую проблему межсетевых соединений с помощью стандартного порта Http.

Один недостаток Http-Bind: похоже, не поддерживает автоматическое шифрование TLS и вместо этого использует стандарт «Старый SSL» для шифрованной связи, который многие библиотеки XMPP не поддерживают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...