2010-08-12 2 views
3

Если вы создаете платформу IM на Java, которая будет лучшим способом для осуществления обмена данными между клиентами и сервером? я думал, либо RMI или просто сокет соединения ...Внедрение платформы IM в Java

Advice пожалуйста,

Благодаря

ответ

7

Я хотел бы использовать прямой сокет-соединение, используя хорошо известный протокол, такой как XMPP. Вы можете использовать библиотеку (например, smack), чтобы избежать реализации всего протокола самостоятельно.

Главное преимущество XMPP над RMI или вашим самодельным протоколом - это хорошо зарекомендовавший себя протокол, предназначенный именно для этой цели: IM.

Некоторые службы чата, уже использующие XMPP, включают Google Chat (GTALK) и Facebook.

0

Я уже сделал это, используя Smack API, используя протокол XMPP.

+0

Связанные: http://stackoverflow.com/questions/177514/good-xmpp-java-libraries-for-server-side – Topera

0

CometD был специально разработан для использования в таких случаях, как чаты. В отличие от других протоколов, он работает через HTTP-порт 80, что означает (почти) отсутствие проблем с брандмауэрами.

Прослушать a recent podcast with Greg Wilkins о проекте, который затрагивает некоторые проблемы с внедрением чатов и их обработку CometD.

Я считаю, что есть клиент Java для CometD, если вам нужно иметь клиент с обеих сторон разговора (обычно это интерфейс JavaScript).

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