XMPPFramework发送文件后,传入文件传输不响应请求消息

时间:2018-08-21 08:54:46

标签: swift xml xmpp xmppframework

我让我的应用使用XMPP File Transfer彼此共享文件,但是存在问题。

有两个客户端(我将其称为“ public class SuperLazy<T> : Lazy<T> where T : new() { public SuperLazy() : base(() => new T()) { } } ”和“ A”),“ B”通过XMPP发送照片文件。它总是在第一次传输时成功,但是在第二次尝试后,“ A”无法接收到来自“ A”的任何文件。 “ B”只能发送文件,不能接收。

我检查了日志,发现客户端开始发送文件时,它将此IQ消息发送给接收方以获得接收方客户端的文件传输支持功能;

A

然后,接收方返回IQ消息,其中包含客户端的类型,功能等...;

<iq type="get" to="clientB@121.190.105.26/ios" id="B67CD942-7F63-45CB-AB28-F0DA2E04402F">
    <query xmlns="http://jabber.org/protocol/disco#info"/>
</iq>

然后每个客户都获得SI优惠,授予他们并建立文件传输连接。

但是在第一次传输后,发送文件的客户端不响应请求客户端功能的IQ消息(disco#info)。

因此请求超时,客户端无法从发送者接收任何文件。但它仍然可以发送文件。

这是我的代码:

<iq type="result" to="clientA@121.190.105.26/ios" id="9F71CCEB-CC3E-4F4E-9B9A-94ABBAB20CC1" from="clientB@121.190.105.26/ios">
    <query xmlns="http://jabber.org/protocol/disco#info">
        <identity category="client" type="ios-osx"/>
        <feature var="http://jabber.org/protocol/si"/>
        <feature var="http://jabber.org/protocol/si/profile/file-transfer"/>
        <feature var="http://jabber.org/protocol/bytestreams"/>
        <feature var="http://jabber.org/protocol/ibb"/>
    </query>
</iq>

0 个答案:

没有答案