2017-07-11 5 views
2

smack拡張ライブラリ4.2.0を使用してファイルを転送しようとしましたが、ファイルを正常に転送できませんでした。これは私のコードである私は、ファイルを転送しようとすると、これは、ピア00006がオンラインであるにもかかわらず、私はsmackを使用してファイルを転送できませんでした。 'XMPPError:service-unavailable - cancel'

org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from [email protected]/Smack: XMPPError: service-unavailable - cancel 

を得ているエラーですが、私は、ピア

からエラーを受信して​​いますなぜ私はしないでくださいI・ユーザー・SP:ファイル

public void sendImageMessage(String sendTo, String imagePath) throws XmppStringprepException { 
     FileTransferManager manager = FileTransferManager.getInstanceFor(mConnection); 
     EntityBareJid jid = JidCreate.entityBareFrom(sendTo); 
     EntityFullJid entityFullJid = JidCreate.entityFullFrom(jid+"/Smack"); 
     Domainpart domainpart = entityFullJid.getDomain(); 
//  Log.d(TAG ," JID Domain "+entityFullJid.do) 

     OutgoingFileTransfer outgoingFileTransfer = manager.createOutgoingFileTransfer(entityFullJid); 
     File file = new File(imagePath); 
     try { 
      outgoingFileTransfer.sendFile(file, file.getName()); 
     } catch (SmackException e) { 
      e.printStackTrace(); 
     } 
     while (!outgoingFileTransfer.isDone()) { 
      if (outgoingFileTransfer.getStatus().equals(FileTransfer.Status.error)) { 
       System.out.println("ERROR!!! " + outgoingFileTransfer.getError()); 
      } else if (outgoingFileTransfer.getStatus().equals(FileTransfer.Status.cancelled) 
        || outgoingFileTransfer.getStatus().equals(FileTransfer.Status.refused)) { 
       System.out.println("Cancelled!!! " + outgoingFileTransfer.getError()); 
      } 
      try { 
       Thread.sleep(1000L); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 
     if (outgoingFileTransfer.getStatus().equals(FileTransfer.Status.refused) || outgoingFileTransfer.getStatus().equals(FileTransfer.Status.error) 
       || outgoingFileTransfer.getStatus().equals(FileTransfer.Status.cancelled)) { 
      System.out.println("refused cancelled error" + outgoingFileTransfer.getError().toString()); 
     } else { 
      System.out.println("Successfully_SEND"); 
     } 

を転送するすべてのヘルプやガイダンスはずっと

編集を高く評価しています私のサーバーを使用してファイルを転送するためのarkクライアントは、ファイルを巧みに転送しました。だから、問題はクライアント側のコードにある薄いサーバーではない

答えて

関連する問題