XMPP:Разрешать клиентам общаться через прокси-сервер?
Вопрос
Итак, я работаю над этим сайтом, веб-приложением, которое должно позволять пользователям легко общайтесь с другими ненадежными пользователями, если они этого хотят с их собственным программным обеспечением, таким как Goog Chat, Facebook и т. Д (хотя это и не центральная функция).
Итак, чтобы объединить "легко" и "их собственный клиент" с "ненадежным", я представляю себе такую функцию:
1.Боб хочет поболтать с Элис.У обоих есть XMPP-клиенты.
2.Боб нажимает на Алису.
3.Мой сайт устанавливает XMPP-"ретранслятор" / "прокси", через который Боб и Алиса могут получать сообщения друг друга, но их XMPP-идентификаторы никогда не раскрываются другому - только "прокси" XMPP-идентификатор моих сайтов.
Bob <-> ProxyThatHidesIdentities <-> Alice
Есть ли хороший механизм для этого?
Решение
Это звучит как обычное дело Многопользовательский чат XMPP (MUC), но в данном конкретном случае вы просто ограничиваете количество комнат максимум двумя участниками.
С MUC комнаты чата могут быть полностью анонимными;люди просто выбирают (или вы применяете) псевдонимы, и поэтому адреса XMPP отображаются каждому пользователю как some-chat-room@chat.example.com/bob
, где example.com
является ваш сервер.Исходный идентификатор XMPP ни одной из сторон не отображается другим пользователям.
Однако для этого потребовалось бы, чтобы у каждой стороны был клиент, поддерживающий MUC.Большинство так и делает, но делает ли это собственный клиент Google Talk, я понятия не имею.
Я бы также отметил, что пользователи Facebook в настоящее время не могут общаться ни с кем за пределами сети Facebook через XMPP (или любые другие средства).