如何使用XMPPHP获取和设置优先级

时间:2013-03-11 17:30:51

标签: php xmpp

我希望我的XMPPHP客户端始终获得特定用户收到的消息的副本。这需要: - 能够检测所有现有客户及其优先事项 - 能够将XMPPHP的优先级设置为与另一个客户端中设置的最高优先级相同的级别。

有谁知道如何使用XMPPHP执行此操作?我尝试在XMPPHP中更改第190行,但是当我的两个GMail帐户来回聊天时,它根本无法收到消息。

public function presence($status = null, $show = 'available', $to = null, $type='available', $priority=120) {
    if($type == 'available') $type = '';
        $to  = htmlspecialchars($to);
    $status = htmlspecialchars($status);
    if($show == 'unavailable') $type = 'unavailable';
            $out = "<presence";
    if($to) $out .= " to=\"$to\"";
    if($type) $out .= " type='$type'";
        if($show == 'available' and !$status) {
        $out .= "/>";
    } else {
        $out .= ">";
        if($show != 'available') $out .= "<show>$show</show>";
        if($status) $out .= "<status>$status</status>";
    if($priority) $out .= "<priority>$priority</priority>";
    $out .= "</presence>";
    }

$this->send($out);

}

使用以下代码调用此方法:

$conn = new XMPPHP_XMPP('talk.google.com', 5222, 'aaaaa@gmail.com', 'bbbb', 'xmpphp', 'gmail.com', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_INFO);
$conn->autoSubscribe(true);
$conn->connect();
$conn->getRoster();
$conn->presence($status="Active");

0 个答案:

没有答案