Datei-übertragung per XMPP (Erweiterung XEP-0065)

Nicht sicher, warum bin ich immer der turn-socket ist fehlgeschlagen (turnSocketDidFail genannt). Kann jemand mir helfen herauszufinden, dieses? Bitte zeigen Sie mir, was mache ich hier falsch. Ich weiß, es gibt viele Fragen wie diese, und ich habe bereits überprüft, alle diese-und ich habe wenig schon helfen. Ein client ist Spark und anderen simulator.

Einstellungen:

Server: testXyz

Senderjid: user1@testXyz

Receiverjid: user2@testXyz

XMPPJID *jid = [XMPPJID jidWithString:Receiverjid];
[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:Receiverjid, nil]];
TURNSocket *turnSocket = [[TURNSocket alloc] initWithStream:self.chatManager.xmppStream toJID:jid];
[turnSocket startWithDelegate:self delegateQueue:dispatch_get_main_queue()];

Konsole anmeldet

SEND: 
<iq type="get" to="Receiverjid" id="C15C428D-6007-4B4E-96D5-65F7A307121A"><query xmlns="http://jabber.org/protocol/disco#items"/></iq>

RECV:
<iq xmlns="jabber:client" type="result" id="C15C428D-6007-4B4E-96D5-65F7A307121A" from="Receiverjid" to="Senderjid/4840c8ae">
<query xmlns="http://jabber.org/protocol/disco#items">
<item jid="Receiverjid" node="http://jabber.org/protocol/tune"/>
<item jid="Receiverjid/Spark 2.6.3"/>
</query>
</iq>

SEND: 
<iq type="get" to="Receiverjid" id="A4D8B427-B323-4152-8B19-7B55164E9C4B">
<query xmlns="http://jabber.org/protocol/disco#info"/>
</iq>

RECV: 
<iq xmlns="jabber:client" type="result" id="A4D8B427-B323-4152-8B19-7B55164E9C4B" from="Receiverjid" to="Senderjid/4840c8ae">
<query xmlns="http://jabber.org/protocol/disco#info">
<identity category="account" type="registered"/>
<identity category="pubsub" type="pep"/>
<feature var="http://jabber.org/protocol/disco#info"/>
</query>
</iq>

SEND: 
<iq type="get" to="Receiverjid/Spark 2.6.3" id="2DE55487-9203-4266-A559-1B1D3DC5FBF4">
<query xmlns="http://jabber.org/protocol/disco#info"/>
</iq>

RECV:
<iq xmlns="jabber:client" id="2DE55487-9203-4266-A559-1B1D3DC5FBF4" to="Senderjid/4840c8ae" type="result" from="Receiverjid/Spark 2.6.3">
<query xmlns="http://jabber.org/protocol/disco#info">
<identity category="client" name="Smack" type="pc"/>
<feature var="http://www.xmpp.org/extensions/xep-0166.html#ns"/>
<feature var="urn:xmpp:tmp:jingle"/>
</query>
</iq>

RECV:
<iq xmlns="jabber:client" id="2DE55487-9203-4266-A559-1B1D3DC5FBF4" to="Senderjid/4840c8ae" type="result" from="Receiverjid/Spark 2.6.3">
<query xmlns="http://jabber.org/protocol/disco#info">
<identity category="client" name="Smack" type="pc"/>
<feature var="http://jabber.org/protocol/xhtml-im"/>
<feature var="http://jabber.org/protocol/muc"/>
<feature var="http://jabber.org/protocol/bytestreams"/>
<feature var="http://jabber.org/protocol/commands"/>\
<feature var="http://jabber.org/protocol/si/profile/file-transfer"/>
<feature var="http://jabber.org/protocol/si"/>
<feature var="http://jabber.org/protocol/ibb"/>
</query> 
</iq>

Update

Wenn ich mich verändert:

[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:Receiverjid, nil]];

zu:

[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:Server, nil]];

Gibt es mir:

<error code="503" type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error>.

Wie vorgeschlagen, in eine Frage auf stack um diesen Fehler zu beheben habe ich ersetzt Receiverjid: 'user2@testXyz" von "user2@testXyz/spark", aber bin noch immer derselbe Fehler.

  • Ich bin mit XEP-0065.
  • Wie pro meine Kenntnisse XEP-0065 allein nicht in der Lage, den transfer-Datei, die Sie verwenden müssen, XEP-0096 sowie um die session-ID. Zur übertragung der Datei session-ID ist der wichtigste Teil. Stellen Sie sicher, dass die session-id bleibt die gleiche für file transfer session.
InformationsquelleAutor Iducool | 2012-08-28
Schreibe einen Kommentar