【问题标题】:XMPPHP sends message but won't receiveXMPPHP 发送消息但收不到
【发布时间】:2010-12-02 17:59:13
【问题描述】:
<?php
include("XMPP.php");

$conn = new XMPPHP_XMPP('server.com', 5222, 'user', 'pass', 'home');
$conn->useEncryption(true);
$conn->connect();
$conn->processUntil('session_start');
$conn->message('person@server.com', mktime());
$payloads = $conn->processUntil('message');
$conn->message('person@server.com', mktime());
$conn->disconnect();
?>

正确...所以它连接 - 它启动会话并发送在我正在使用的 jabber 客户端上接收到的第一个时间戳。

然后它应该“处理直到”收到一条消息(afaik),如果收到一条消息,则发送另一个时间戳。嗯,这个位是行不通的位。

我没有 XMPP 服务器或 XMPPHP 的先验知识,所以所有的帮助,无论多么基础,都不会被忽视! :)

谢谢。

【问题讨论】:

  • 尝试传入new XMPPHP_XMPHP 的最后几个日志记录选项,即$xmpphp = new XMPPHP_XMPP( $server_settings["address"], 5222, $xmpp_settings["username"], $xmpp_settings["password"], $resource, NULL, TRUE, XMPPHP_Log::LEVEL_VERBOSE );
  • 这只是给了我一大页信息,对我没有帮助:p
  • 我不知道为什么你不能让这个简单的应用程序与 xmpphp 库一起工作......但是,如果你仍在寻找解决方案,请直接联系库作者,否则请尝试 PHP 中的其他 xmpp 库,例如Jaxl 库github.com/abhinavsingh/JAXL

标签: php xmpp xmpphp


【解决方案1】:

我为此奋斗了一段时间。事实证明,您必须在连接时宣布您的存在。我从 cli_longrun_example.php 中提取了这个并将它放在我的 $conn->connect() 和 $conn->processUntil('session_start') 调用之后:

$conn->presence($status='Controller available.');

【讨论】:

    【解决方案2】:

    您可以在 jabber 客户端中接收第一条消息。与

    $conn->message('person@server.com', mktime());
    

    但是你会收到来自服务器的消息

       $payloads = $conn->processUntil('message');
    

    但是你不能用那个接收消息。

    并且脚本无法加载头,因此您无法收到另一条消息。我有同样的问题。你可以使用 jaxl。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      相关资源
      最近更新 更多