Xmpp strophe.js-消息不会在chrome上传递

Xmpp strophe.js-消息不会在chrome上传递,xmpp,ejabberd,strophe,Xmpp,Ejabberd,Strophe,我正在使用Strophe.js创建定制的xmpp聊天应用程序。浏览器和桌面客户端(Adium)之间的通信工作正常。我可以通过浏览器向Adium发送消息,也可以从Adium向浏览器发送消息。在某些情况下,浏览器通信仍然存在问题,因为消息已发送但未传递。这似乎只是谷歌浏览器的问题 有趣的是,诗节的发送和传递都很好。我们使用ejabberd作为服务器守护进程 这是我从一个帐户发送的状态节: <presence type="away" xmlns="jabber:client"> &

我正在使用Strophe.js创建定制的xmpp聊天应用程序。浏览器和桌面客户端(Adium)之间的通信工作正常。我可以通过浏览器向Adium发送消息,也可以从Adium向浏览器发送消息。在某些情况下,浏览器通信仍然存在问题,因为消息已发送但未传递。这似乎只是谷歌浏览器的问题

有趣的是,诗节的发送和传递都很好。我们使用ejabberd作为服务器守护进程

这是我从一个帐户发送的状态节:

<presence type="away" xmlns="jabber:client">
    <show>away</show>
    <status/>
</presence>

离开
另一方面,我收到的是:

<presence xmlns="jabber:client" from="test1@domain.com/3917283126133167196759537" to="test2@domain.com/1563391996133167110798391" type="away">
    <show>away</show>
    <status/>
</presence>

离开
还有我发送的信息节:

<message from="test1@domain.com/267172122813316722921543" to="test2@domain.com" type="chat" id="4915" xmlns="jabber:client">
    <active xmlns="http://jabber.org/protocol/chatstates" />
    <body>Testing...</body>
</message>

测试。。。
Chrome上没有收到任何信息

编辑: 问题在于转义了一些字符。由于安全问题,Chrome没有让他们退出。

您最初出现时的
type=“away”
无效。省略可用状态的“type”属性。脱机时设置
type=“unavailable”

因为您的状态无效,所以您没有被标记为可用,并且您将不会收到任何发送给您的裸JID的消息

更新:以澄清对我上述意思的任何混淆(见评论)

此节上的“type”属性无效:

<presence type="away" xmlns="jabber:client">
    <show>away</show>
    <status/>
</presence>

显然,我的初始状态节处于活动/可用状态。不过,这并没有什么区别,因为“离开”不应该让用户无法接收消息。对不起,你误解了我的意思。您的初始状态无效-标记上的“type”属性不应存在。标签唯一有效的“类型”可能是“不可用”,否则它是可用的存在。这一节的其余部分很好。有关规格,请参见。您能告诉我这些字符有什么问题吗。我在旁遮普语中使用strophe。我只收到第一条消息,但没有收到后面的消息。在Chrome上发送消息但未收到任何消息。>这是测试..>@你确定没有收到任何东西吗?听起来侦听器函数在第一条消息之后没有返回
true
<presence xmlns="jabber:client">
    <show>away</show>
    <status/>
</presence>