2011-12-05 12 views
9

Dosyayı iki kullanıcı arasında aktarmak için TURNSocket kullanmak istiyorum.ios içinde XMPPFramework'ın TURNSocket'unda başarı bağlanırken dosya nasıl alınır?

Kullanıcı1: (iphone sumulator) Kullanıcı2: (Kıvılcım kullanıcı)

Şimdi soket bağlandı ve ben Spark yoluyla kullanıcı2 dan Kullanıcı1 bir dosya göndermek istiyorum. Ve iphone sumulator bu mesaj aldı edebilirsiniz:

<iq xmlns="jabber:client" id="P1J6b-29" to="[email protected]/75694fce" from="[email protected]/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> 

ben didSucceed yönteminde nasıl işleneceği konusunda XMPP Sending/Receving file in iphone sdk ...? konu bu gördük, ama ben üzerine Spark kullanıcı tarafından gönderilen dosyayı almak için nasıl bilmiyorum iphone sumülatörü.

Ardından, didSucceed uygulanmasında kullanılarak, geçirildi soket üzerinde veri göndermek:

- (void)writeData:(NSData *)data 
    withTimeout:(NSTimeInterval)timeout 
      tag:(long)tag; 

Son olarak, yakın soket: Yani

- (void)disconnectAfterWriting; 

almayı kodu nasıl Bu yöntemde dosya veya diğerleri?

- (void)turnSocket:(TURNSocket *)sender didSucceed:(GCDAsyncSocket *)socket { 
    // Where is the NSData that can be find to used in writeData method ? 
} 
+0

Merhaba, bu şeyi işe aldın mı? –

cevap

1

FastSocket'ı deneyin https://github.com/dreese/fast-socket. IPhone'lar veya sunucular arasında TCP bağlantısı için en iyisidir. Lütfen nasıl kullanılacağına dair çok ayrıntılı bir talimat için dokümanları da okuyun (özellikle Ünite Testleri). Birbirine bağlanmak için gereken her bir cihazın IP'lerini bilmeniz gerekir.

İlgili konular