2012-06-13 6 views
0

Jabber Smack API를 사용하여 채팅 응용 프로그램을 만들었습니다. 성공적으로 (Gajim이라는 다른 앱에서) 파일을 받고 있지만 몇 초 안에 업로드가 실패합니다. "협상 중"전송 상태가 끝나면 "오류"상태가됩니다.Smack에서 파일 업로드 중 오류가 발생했습니다.

"정규화 된"jabber ID를 제공하여이 오류를 수정했지만 이제 다른 (Gajim) 클라이언트의 전송을 수락 한 후 무제한으로 "협상 스트림"에서 전송이 중단됩니다.

내 SwingWorker의 클래스 다음 코드가 :

OutgoingFileTransfer transfer; 

    @Override 
    public Void doInBackground() { 

     transfer = manager.createOutgoingFileTransfer("[email protected]/Gajim"); 
     File uploadFile = fileChooser.getSelectedFile(); 
     try { 
      transfer.sendFile(uploadFile, "test"); 
     } catch (XMPPException ex) { 
      System.out.println("sendFile Error"); 
      ex.printStackTrace(); 
     } 
     while (!transfer.isDone()) { 
      if (transfer.getStatus().equals(Status.error)) { 
       transferLabel.setText("ERROR!!! " + transfer.getError()); 
      } else { 
       transferLabel.setText("Uploading File: " + uploadFile.getName() 
         + " STATUS: " + transfer.getStatus()); 
       fileProgressBar.setValue((int) (100 * transfer.getProgress())); 
      } 
      try { 
       Thread.sleep(500); 
      } catch (InterruptedException ex) { 
       System.out.println("thread.sleep error"); 
       ex.printStackTrace(); 
      } 
     } 

     return null; 
    } 

답변

0

오류가 재버 서버에 있었다. 오픈 파이어 서버를 사용하여 모든 문제를 해결했습니다.

+0

moongoose im 서버를 사용하면 어떻게됩니까? –

관련 문제