Нужно ли реализовывать XMPP-сервер? - PullRequest
0 голосов
/ 09 июня 2010

(оповещение новичка)

Мне нужно запрограммировать многопартийную коммуникационную службу для курсового проекта, и я рассматриваю XMPP для него.

Службе нужна следующая семантика обмена сообщениями:

1) сервер предоставит метод регистрации и отмены регистрации адреса, например somenode@myservice.com/SomeResource. (сейчас я сделаю это вручную).

2) сервер предоставит способ пересылки входящих сообщений, скажем, от somenode@myservice.com/SomeResource до someothernode@myservice.com/someOtherResource, при условии, что последнее зарегистрировано, и способ удаления этой пересылки. (сейчас я сделаю это вручную).

3) анонимные клиенты могут отправлять сообщения, скажем, на somenode@myservice.com/someresource (только односторонний трафик). Если есть какая-либо настройка пересылки, сообщение будет переслано. Наконец, если зарегистрирован адрес somenode@myservice.com/someresource, сообщение будет сохранено для последующей доставки (или немедленно, если запрашивающий клиент онлайн - см. Ниже). Если пересылка отсутствует и незарегистрированная, сообщение будет автоматически отброшено.

4) клиенты могут подключаться и получать сообщения с зарегистрированного адреса. Точный метод аутентификации клиентов (например, пароли?) Еще предстоит определить.

  • В конце концов, я хочу добавить поддержку подключения клиентов через веб-браузер, чтобы они могли самостоятельно регистрировать / отменять регистрацию и устанавливать / удалять переадресацию.

Таким образом, серверу придется выполнять некоторые нестандартные переключения. Нужно ли для этого реализовать сервер XMPP? Я думаю, что некоторые (или все?) Это также можно сделать с помощью клиента XMPP бот

Ответы [ 2 ]

2 голосов
/ 14 июня 2010

Вы можете выяснить, подходит ли Pub / Sub к вашей проблеме, чем пользовательская семантика обмена сообщениями. Если это так, вы можете найти его реализацию на вашем существующем сервере XMPP.

1 голос
/ 09 июня 2010

Возможно, вам не удастся использовать очередь сообщений типа ActiveMQ для связи и Apache Camel для маршрутизации / пересылки / обработки.

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