我正在开发一个基于php的网站。我想在其中实现Facebook聊天。
我的问题是如何使用xmpp和bosh。xmpp和bosh的关系是什么?
是否有任何示例源代码来了解如何使用诸如jaxl或strophe.js之类的库实现facebook聊天
最佳答案
我的问题是如何使用xmpp和bosh。什么是关系
和波什。
bosh代表http上的双向流。它是为在http上运行xmpp而设计的规范,但可以用于在http上运行任何底层tcp级别的协议。
bosh基本上是在浏览器的限制范围内运行的,即一个人一次对特定域的请求不能超过2个。在这些限制内,bosh能够模拟服务器和客户机之间的双向管道。有效载荷可以通过这个虚拟管道和用户体验来传输,这和实时性一样好。
传统上波什是用一种称为长轮询的技术来模拟的。但是,我已经成功地使用jsonp和websockets(如果有的话)运行了相同的程序。
有没有任何示例源代码来了解如何实现facebook
使用jaxl或strophe.js等库聊天
我打赌你会找到足够多的使用strophe.js的web聊天应用程序示例。您只需要一个bosh连接管理器,比如punjab或ebosh(我写的一个),它可以连接到任何xmpp/jabber c2s端点。
就jaxl示例而言,这里有一些可以直接使用的示例:https://github.com/abhinavsingh/JAXL/tree/master/app请具体查看boshchat.php、boshmucchat.php和prefetchbosh.php示例,这些示例演示了jaxl库的bosh端支持。
如果您期望中等流量,则可以使用这些示例。对于一个流量很大的应用程序,我强烈建议使用基于strophe.js的解决方案。