서버는 오픈파이어를 사용하고 있습니다

안드로이드 클라이언트간 메세지 전송 기능은 문제가 없는데 파일전송후 받는 부분이 문제가 있나봅니다


보내는 부분

                File file = new File(filePath);

//manager = new FileTransferManager(con);

if(FileTransferNegotiator.isServiceEnabled(con)) {

OutgoingFileTransfer transfer = manager.createOutgoingFileTransfer(user+"/Smack");

try {

System.out.println(transfer.getProgress() + " is done! 1");

transfer.sendFile(file, file.getName());

System.out.println(transfer.getProgress() + " is done! 2");

while(!transfer.isDone()) {

Thread.sleep(1000);

}

} catch (Exception e) {

System.out.println("################ sendFile => 파일 전송 실패");

e.printStackTrace();

}

System.out.println("################ sendFile => 파일 전송 완료");

} else {

System.out.println("################ sendFile => 파일 전송 실패");

}

보내는 부분은 에러 없이 잘되는듯 합니다만



                            new ServiceDiscoveryManager(con);

   manager = new FileTransferManager(con);

   FileTransferNegotiator.setServiceEnabled(con, true);

   manager.addFileTransferListener(new FileTransferListener() {

    @Override

    public void fileTransferRequest(FileTransferRequest request) {

           Log.d("@@@@@@@@@@@@@@@@", "allows file...");

           if (request != null) {

               // Accept it

               IncomingFileTransfer transfer = request.accept();

               try {

                   String path = "/sdcard/"+ request.getFileName();

                   transfer.recieveFile(new File(path));

               } catch (XMPPException ex) {

                   Log.d("", "er: " + ex);

               }

           } else {

            Log.d("", "reject file...");

            request.reject();

           }

       }

   });

  위처럼 파일 전송을 받는 부분이 전혀 동작을 하지 않습니다


  XMPP를 이용한 파일전송 경험있으신분 답변 부탁 드립니다

  우 리스너는 서비스에 있습니다


  커넥션등이 서비스로 백그라운드에서 이뤄지고 있으며 메세지 전송도 서비스에서 감지되면 sendBroadcast 로 넘겨주는 방법으로

  구성되어 있습니다...파일전송도 이런식으로 구성하려고 하는데 전혀 리스너에서 파일 전송된게 감지가 되지 않고 있습니다...