1
파일 전송 지원이 필요한 채팅 응용 프로그램을 개발 중입니다. 이를 위해 Smack API를 사용하고 있습니다. 하지만 내 파일이 전송되지 않습니다 그리고 나는 File status Error
및 progress 0.0
그물에 인터넷 검색 해봤지만 그들은 모두 동일한 방식으로 파일을 보내는 데 사용됩니다. 하지만 난 오류가 나타납니다.
이 문제와 관련하여 몇 가지 질문이 있지만 적절한 해결책은 제시되지 않았습니다.파일이 단발로 전송되지 않음 API
이렇게 생각하는 사람이 있습니까? 이 문제를 해결하는 방법?
편집 :
나는 10.0.2.2로 변경 127.0.0.1과 노력, 그리고 지금은 상태가 협상되지만 일부 시도 후 난 상태 오류를 가지고 있어요.
ServiceDiscoveryManager sdm = ServiceDiscoveryManager
.getInstanceFor(connection);
if (sdm == null)
sdm = new ServiceDiscoveryManager(connection);
sdm.addFeature("http://jabber.org/protocol/disco#info");
sdm.addFeature("http://jabber.org/protocol/disco#item");
sdm.addFeature("jabber:iq:privacy");
Log.i("send file", "send file");
FileTransferManager manager = new FileTransferManager(
connection);
FileTransferNegotiator.setServiceEnabled(
connection, true);
OutgoingFileTransfer transfer = manager
.createOutgoingFileTransfer("[email protected]/Smack");
Log.i("transfer file",
"outgoingfiletransfer is created");
try {
OutgoingFileTransfer.setResponseTimeout(30000);
transfer.sendFile(
new File(path_file+"/"+"andr.jpeg"),
"Description");
Log.i("transfer file", "sending file");
Log.i("transfer file","the path is :"+path_file+"/"+"andr.jpeg");
while (!transfer.isDone()) {
try {
Thread.sleep(1000);
Log.i("transfer file",
"sending file status :- "
+ transfer.getStatus()
+ " "
+ "progress:-"
+ transfer
.getProgress());
if (transfer.getStatus() == org.jivesoftware.smackx.filetransfer.FileTransfer.Status.error) {
transfer.cancel();
Log.e("", "ERROR");
break;
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
Log.e("catch", "catch" + e);
e.printStackTrace();
}
}
} catch (XMPPException e) {
// TODO Auto-generated catch block
Log.e("catch", "catch" + e);
e.printStackTrace();
}
Log.i("transfer file", "--------");
}
어떤 도움과 제안을 이해할 수있을 것이다 :
여기에 파일 전송을위한 내 코드입니다.
감사
어떤 문제가 있습니까? 같은 문제가 있습니다. – user1163234
해결책을 찾지 못하면 아무 해결책도 없습니다. 감사합니다. – juned
파일을 받고 유사한 문제가 발생하는 중입니다. 그걸 어떻게하는 지 아는가? – user1163234