0

我想向 xmpp 服务器发送一些额外的参数。但没有在 msg.xml 中获取那些额外的参数。使用 https://github.com/jaxl/JAXLhttps://www.ejabberd.im/

我正在尝试使用 jaxl.php 中的这种方法。

public function send_msg($to,$body,$sender_id,$id,$xmpp_msg_attribute,$thread=null, $subject=null) {
    $msg = new XMPPMsg(
        array(
            'id'=>$id,
            'sender_id'=>$sender_id,
            'type'=>'normal', 
            'to'=>$to, 
            'from'=>$this->full_jid->to_string(),
            'attributes'=> 'extra information',
        ), 
        $body,
        $thread,
        $subject
    );
    $this->send($msg);
}

但输出发送没有额外的参数:

<message xml:lang='en'
         to='7070707070@localhost.com'
         from='9696969696@localhost.com/jaxl#3090b93066351b9a90ebad79bb208745'
         id='5b6137010b0bc'
         xmlns='jabber:client'>
  <body><p>check me</p></body>
</message>

我没有找到属性 sender_id 。我还尝试更改属性-> attrs。

来源 http://jaxl.readthedocs.io/en/latest/users/xml_objects.html#xmppstanza

4

1 回答 1

1

Message 和 Body 元素已由 XMPP 协议定义,因此您无法向它们添加属性。

但是您可以添加新元素,例如客户端可以发送此元素,并将被目的地接收:

<message id='46:941386'
    xml:lang='es'
    type='chat'
    to='user2@localhost'>
  <body>hola</body>
  <xxx aa='asd' bb='qwe'/>
</message>
于 2018-08-01T10:05:54.897 回答