Я не уверен, как правильно сформулировать вопрос, поэтому, если есть лучшие идеи, - предложите их.
Проблема проста.У меня есть 2 пира A и B, оба за брандмауэрами.Я хочу, чтобы они общались друг с другом с помощью публичного брокера или посредника, какое бы имя ни подходило.
Связь асинхронная и происходит примерно так:
- Периодически и А, и Вопросить брокера, спросив, есть ли для них сообщения.
- Когда A желает связаться с B, он отправляет сообщение брокеру, указывая, что это сообщение для B.
- Когда B опрашиваетброкер, брокер видит, что для него действительно есть сообщение, и отвечает соответствующим образом.
- B обрабатывает сообщения и отправляет ответ обратно брокеру, указывая, что это ответ на конкретное сообщение от A.
- В какой-то момент A опрашивает брокера и получает ответ от B.
Теперь, прежде чем я сам ворвусь и осуществлю такого рода общение, мне интересно, есть лииспользовать пакеты, которые позволяют для такого рода связи из коробки.
Кто-нибудь?
Спасибо.
EDIT1
Я хотел бы подчеркнуть, что на одноранговом узле не может быть установлен сервер сообщений.Это означает, что имитация запроса-ответа с двумя односторонними соединениями невозможна.Мне действительно нужно иметь возможность получить ответ на ответ партнера, поэтому это не может быть односторонняя связь.
EDIT2
Еще одно ограничение заключается в том, что только HTTP (S) порты могут быть открыты для связи, поэтому агенты A и B могут находиться в ситуации, когда они общаются с брокером, используя только HTTP (S).