0
<?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 的先验知识,所以所有的帮助,无论多么基本,都不会被忽视!:)

谢谢。

4

2 回答 2

1

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

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

但是随后您会收到来自服务器的消息

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

但你不能用它来接收消息。

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

于 2013-05-07T11:44:28.247 回答
1

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

$conn->presence($status='Controller available.');
于 2012-04-18T04:37:09.220 回答