Ich möchte die TURNSocket
um die Datei zwischen den beiden Benutzern zu übertragen.
Benutzer1: (iphone Sumulator) Benutzer2: (Spark-Benutzer)
Jetzt ist der Socket verbunden und ich möchte eine Datei von User2 über Spark an User1 senden. Und der iphone Sumulator kann diese Nachricht empfangen:
<iq xmlns="jabber:client" id="P1J6b-29" to="User1@local/75694fce" from="User2@local/Spark 2.6.3" type="set">
<si xmlns="http://jabber.org/protocol/si" id="jsi_8334411215933911079" mime-type="image/png"
profile="http://jabber.org/protocol/si/profile/file-transfer">
<file xmlns="http://jabber.org/protocol/si/profile/file-transfer" name="a2.png" size="12618">
<desc>Sending file</desc>
</file>
<feature xmlns="http://jabber.org/protocol/feature-neg">
<x xmlns="jabber:x:data" type="form">
<field var="stream-method" type="list-single">
<option>
<value>http://jabber.org/protocol/bytestreams</value>
</option>
<option>
<value>http://jabber.org/protocol/ibb</value>
</option>
</field>
</x>
</feature>
</si>
</iq>
Ich habe sie in der XMPP Senden/Empfangen von Dateien im iphone sdk ...? Thema über den Umgang mit in didSucceed
Methode, aber ich weiß nicht, wie ich die Datei, die von Spark-Benutzer auf dem iphone Sumulator gesendet wurde, empfangen kann.
Dann, in Ihrem didSucceed
Implementierung, senden Sie Daten über den Socket, der übergeben wurde, mit:
- (void)writeData:(NSData *)data
withTimeout:(NSTimeInterval)timeout
tag:(long)tag;
Zum Schluss schließen Sie die Steckdose:
- (void)disconnectAfterWriting;
Also, wie zu codieren, um die Datei in dieser Methode oder andere erhalten?
- (void)turnSocket:(TURNSocket *)sender didSucceed:(GCDAsyncSocket *)socket {
// Where is the NSData that can be find to used in writeData method ?
}