Супер простой сервер XMPP или совет для простого пользовательского компонента Openfire

Мне нужен сервер, чтобы отправить и получить сообщения XMPP от клиентов Android, выполняющих многопользовательскую игру, которую я пишу. Я выбрал XMPP, потому что я не хочу к долгому опросу, и Сокеты могут быть проблемой по сотовой сети (Поставщики услуг могут заблокировать их).

Я смотрел на OpenFire, пока это звучит удивительным, мне не нужен Голосовой чат панели администрации, Чат-комнаты и т.д., кажется очень тяжелым и приспособленным к решению для чата для компаний, когда все мне нужно, состоят в том, чтобы соответствовать плеерам и передать их перемещения друг другу записывающему счет в конце. Существует ли разделенный вниз версия OpenFire, таким образом, я могу просто зарегистрировать один компонент, который обслужит все запросы? Относительно адаптации с openfire я не могу найти, что ясный пример добавления пользовательского компонента выполняет подобную задачу.

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

Я надеюсь, что это имеет смысл, любой, кто записал такую часть серверного кода, я любил бы пример. Для тех Вы, которые не попробовали его, но имеют идею, как Вы запустили бы, входите в долю также! Чем больше детали, тем лучше.

Заранее спасибо,

Gav

9
задан gav 10 March 2010 в 11:18
поделиться

3 ответа

Вы можете использовать практически любой сервер XMPP; Я знаю, что Openfire будет работать, или я также недавно использовал Prosody , который очень легкий и простой в установке (в Linux).

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

Для получения более подробной информации см. Мой предыдущий ответ на очень похожий вопрос:
XMPP C # Interaction

Еще одно отличное место для поиска информации - это все, что написано Джеком Моффиттом , который создал chesspark.com (поскольку он был приобретен Chess.com, поэтому недоступен) - сайт, который сравнивал шахматных пользователей и контролировал игры с помощью XMPP.

См. Это сообщение в блоге для начала:
http://metajack.im/2008/11/21/chesspark_design_details_part_1_why_xmpp/

7
ответ дан 3 November 2019 в 00:00
поделиться

Если вам нужен быстрый и легкий сервер XMPP, попробуйте Prosody . Однако другие ответы верны в том смысле, что вам нужно сначала взглянуть на PubSub , а затем написать свой собственный компонент , прежде чем добавлять функциональные возможности непосредственно на сервер.

4
ответ дан 3 November 2019 в 00:00
поделиться

Вы должны иметь возможность сделать это с помощью OpenFire (или других серверов XMPP) из коробки, если они поддерживают pubsub. Не уверен в специфике ваших потребностей, но я думаю, что Personal Eventing Protocol или его расширенный набор PubSub должны быть в состоянии справиться с вашим вариантом использования. OpenFire поддерживает оба этих протокола.

Если они не поддерживают ваш вариант использования, то написать собственный плагин довольно легко.

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

Я использовал XMPP pubsub для клиентов, чтобы сообщать друг другу о своих действиях, чтобы пользователи могли получать обновления в реальном времени о том, над чем работают коллеги в группе.

1
ответ дан 3 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: