PHP和XMPP双向

问题描述 投票:0回答:3

我正在尝试使用PHP和XMPP创建Web应用程序。要求之一是,当浏览器上的Javascript客户端通过XMPP向服务器发送事件时,PHP开始工作并满足该请求。如您所知,XMPP允许其客户“侦听”各种类型的事件,并在找到正确的事件时跳入生活。当然,PHP仅在HTTP请求期间有效,因此,根据我的研究,PHP XMPP客户端只是“一种方式”-即它们只能生成事件,而不能监听和使用它们。

我对专家的问题是:1.我的研究正确吗? PHP / XMPP是单向的吗?2.用PHP可以解决这个问题吗?3. Ruby on Rails是否存在相同的问题,或者它以“双向”方式与XMPP一起使用?

非常感谢,谢谢您的帮助!

欢呼声

php ruby-on-rails client xmpp
3个回答
1
投票

听起来您正在尝试将PHP用作XMPP服务器,这会出现问题。它可能在Rails中可行,但并不理想。

[值得一看的是许多开源XMPP平台之一,例如ejabberd


0
投票

我并没有真正理解“使用PHP / XMPP的一种方法”的确切含义。但是,根据我的经验,如果您选择使用PHP + XMPP组合(浏览器客户端使用某种xmpp javascript库),则没有任何限制。

通常是使用PHP / XMPP设置时的流程:

  1. 浏览器发送一个ajax民意调查
  2. Web服务器上的PHP脚本收到此Ajax调查
  3. 内部PHP脚本与bosh端点对话
  4. PHP脚本等待服务器的响应,直到发生超时
  5. 响应或超时时,PHP从bosh端点到浏览器客户端的中继回复响应

在此流程中,PHP脚本的作用类似于浏览器和jabber服务器之间的连接管理器。实际上,在高流量下不建议使用此方法,因为由于PHP脚本已经在等待bosh端点的响应,因此您的Web服务器很快可能会停止接受新的ajax轮询。

您可以从boshchat.php中尝试Jaxl library示例示例,该示例演示了与上述流程完全相同的流程。


0
投票

此简单代码通过PHP XMPP API发送消息,请看这里API XMPP Sender

© www.soinside.com 2019 - 2024. All rights reserved.