0

私はこのコードに苦労しています:

FileTransferManager manager = new FileTransferManager(connection)

OutgoingFileTransfer transfer = manager.createOutgoingFileTransfer("gmailusername@gmail/Smack");


try { 
  System.out.println("000"); 
  transfer.sendFile(new File("D:/cow.wav"), "Moo !"); 
  System.out.println("111"); 

  while(!transfer.isDone()) { 
    System.out.println(transfer.getProgress() + " is done!");    
    //System.out.println(transfer.getStreamID() + " is done!"); 

    try { 
      Thread.sleep(1000); 
    } 
    catch (InterruptedException e) { 
      // TODO Auto-generated catch block e.printStackTrace(); 
    }
  } 
} 
catch (XMPPException e) { 
  // TODO Auto-generated catch block e.printStackTrace(); 
}

ファイルを送信できないようです。

誰でもこの問題を解決できますか?

4

3 に答える 3

2

Gmail (上記のコードから判断) はファイル転送をサポートしていないと思います。これを参照してください。disco#itemおよびを送信しdisco#infoて、任意の種類のバイト ストリーム プロキシがサポートされているかどうかを確認することもできます。ただし、一部のサーバーはプロキシ上でjabber.org何も返さないことがあります。disco#info

XMPP サービスのクエリについては、私のブログを参照してください。

于 2010-10-08T02:40:34.820 に答える
0

受信者の完全なIDを入力していません。を使用して取得します

myRoster.getRoster().getPresence(entry).getFrom()

次に、転送を行い、受信者がXMPPを使用していることと、ファイル転送がXMPPとは異なるためgtalkを使用していないことを確認します。

于 2010-12-15T21:32:42.097 に答える
0

SMACK は、ログイン後に「/smack」アプリケーション指定子を追加する傾向があることを発見しました。上記の手法を使用すると、これが発生することがわかります。奇妙なことに、これはメッセージには影響しませんが、ファイル転送には影響します

于 2011-05-02T21:54:35.410 に答える