我阅读了XMPP的相关信息,它似乎需要在客户端和服务器之间建立一个开放的TCP连接来交换XML数据包,但从网站(通过JavaScript和无插件)中不可能建立TCP连接,只能进行http请求/响应,没有TCP连接。这意味着应该在两者之间有某种代理,并且对于身份验证,FB API建议使用X-FACEBOOK-PLATFORM SASL(而不是DIGEST MD5,因为存在代理)。我没有找到明确的教程或步骤,希望得到帮助。
关于从Web或浏览器使用XMPP客户端的更多研究,我看到我应该使用一个名为Strophe的库(基于BOSH协议),在其他答案中还有一种称为Punjab的连接管理器。我阅读了这个BOSH协议,它似乎是解决方案,但在某些地方我发现它在FB中不被允许(尽管我不确定这个信息是否正确)。我试图设置它们,但我完全困惑了该如何开始以及我真正应该做什么。
对于strophe,我没有找到一个真正的教程来实现它,而在我找到的东西中,他们建议首先设置像ejabberd这样的jabber服务器(我没有理解为什么需要这样做)。
我的问题是:
有人能够建议我应该实现哪种架构来实现我的目标吗?
那么会有:网页 ->(HTTP) -> Strophe ->(TCP) -> FB-chat还是其中会有XMPP服务器?为什么?
感谢任何回答我的问题。请提供一些链接以了解如何实现所有这些内容。我对所有这些都是新手,这使我迷失了一周以上。
如果有人已经做过这个,请帮忙。非常感谢。