XMPP через HTTP или через сокет

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


person Jen    schedule 06.07.2011    source источник


Ответы (2)


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

person Alfred    schedule 07.07.2011

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

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

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

Привязка HTTP

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

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

person pat8719    schedule 08.07.2011