XMPP:允许客户端通过代理进行通信?
因此,我正在开发这个网站网络应用程序,如果用户想要使用自己的软件(如 Goog Chat、Facebook 等),可以轻松与不受信任的其他成员聊天(但不是核心功能)。
因此,为了将“轻松”和“他们自己的客户”与“不受信任”结合起来,我设想了这样的功能:
1. Bob 想和 Alice 聊天。两者都有 XMPP 客户端。
2. 鲍勃点击爱丽丝。
3. 我的站点设置了一个 XMPP“中继”/“代理”,Bob 和 Alice 可以通过它获取彼此的消息,但他们的 XMPP 身份永远不会透露给对方 - 只有我的站点“代理”XMPP 身份。
Bob <-> ProxyThatHidesIdentities <-> Alice
有没有一个好的机制来做到这一点?
So I'm working on this site web app that should let users easily chat with untrusted other members if they want to with their own software like Goog Chat, Facebook, etc (not the central feature though).
So to combine "easily" and "their own client" with "untrusted," I envision a feature like so:
1. Bob wants to chat with Alice. Both have XMPP clients.
2. Bob clicks on Alice.
3. My site sets up an XMPP "relay"/"proxy" through which Bob and Alice can gets each others' messages, but their XMPP identities are never revealed to the other -- only my sites "proxy" XMPP indentity.
Bob <-> ProxyThatHidesIdentities <-> Alice
Is there a good mechanism for doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这听起来像是常规的 XMPP 多用户聊天 (MUC),但在这种特殊情况下,您只是限制房间最多只能容纳两名参与者。
通过MUC,聊天室可以完全匿名;人们只需选择(或您强制执行)别名,因此 XMPP 地址对每个用户显示为
[email protected]/bob
,其中example.com
是您的服务器。任何一方的原始 XMPP ID 都不会向其他人显示。然而,这需要各方都有一个支持 MUC 的客户端。大多数都这样做,但本机 Google Talk 客户端是否这样做,我不知道。
我还要指出的是,Facebook 用户目前无法通过 XMPP(或任何其他方式)与 Facebook 网络之外的任何人交谈。
This sounds like regular XMPP Multi User Chat (MUC), but in this particular case you're just restricting rooms to a maximum two participants.
With MUC, chat rooms can be fully anonymous; people just choose (or you enforce) aliases and so the XMPP addresses appear to each user as
[email protected]/bob
, whereexample.com
is your server. Neither party's origin XMPP ID appears to others.However, this would require each party to have a client that supports MUC. Most do, but whether the native Google Talk client does, I have no idea.
I'd also note that Facebook users currently cannot talk to anyone outside the Facebook network via XMPP (or any other means).