I can send and receive file from Psi to phone and vice versa, but when i transfer from phone to phone it dosent work, here i am posting all my codes and error which i am getting. for past one week i am working on this. I am using ejabberd server. i tried with both 7777 and 8010 port.
Send File method:
private class Asynsendfile extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
ServiceDiscoveryManager sdm = ServiceDiscoveryManager
.getInstanceFor(connection);
if (sdm == null)
sdm = new ServiceDiscoveryManager(connection);
sdm.addFeature("http://jabber.org/protocol/disco#info");
sdm.addFeature("jabber:iq:privacy");
// Create the file transfer manager
FileTransferManager manager = new FileTransferManager(connection);
FileTransferNegotiator.setServiceEnabled(connection, true);
String torequst=usertochat;
String fulljid=getFullyQualifiedJID(usertochat);
Log.d("fulljid",""+usertochat+fulljid);
// Create the outgoing file transfer
otransfer = manager.createOutgoingFileTransfer(fulljid);
SmackConfiguration.setPacketReplyTimeout(10000);
Log.i("transfere file", "outgoingfiletransfere is created");
filepath="/mnt/sdcard/XmmpChat/Files/a.xlsx";
File file = new File(Environment.getExternalStorageDirectory(),"XmmpChat/Files/a.xlsx");
if(filepath!=null){
try {
OutgoingFileTransfer.setResponseTimeout(30000);
otransfer.sendFile(new File(file.getAbsolutePath()),"Description");
Log.i("transfer file", "sending file");
while (!otransfer.isDone()) {
try {
Thread.sleep(10000);
Log.i("transfere file", "sending file status "
+ otransfer.getStatus() + "progress: "
+ otransfer.getProgress());
if(otransfer.getStatus().equals(otransfer.getError())){
otransfer.cancel();
break;
}
/*if (transfer.getStatus() == Status.error) {
transfer.cancel();
break;
}*/
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}else {
System.out.println("File Not Exist");
}
Log.i("transfere file", "sending file done");
return null;
}
@Override
protected void onPostExecute(String result) {
}
}
Receive File listener:
private class ReceiveFile extends AsyncTask<String,Void,String>{
int receivedfile=0;
@Override
protected void onPreExecute() {
}
@SuppressWarnings("deprecation")
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
ServiceDiscoveryManager sdm = ServiceDiscoveryManager
.getInstanceFor(connection);
if (sdm == null)
sdm = new ServiceDiscoveryManager(connection);
sdm.addFeature("http://jabber.org/protocol/disco#info");
sdm.addFeature("jabber:iq:privacy");
// Create the file transfer manager
final FileTransferManager managerListner = new FileTransferManager(connection);
FileTransferNegotiator.setServiceEnabled(connection, true);
Log.i("File transfere manager receiver", "created");
// Create the listener
managerListner.addFileTransferListener(new FileTransferListener() {
public void fileTransferRequest(final FileTransferRequest request) {
Log.i("Recieve File","new file transfere request new file transfere request new file transfere request");
Log.i("file request","from" + request.getRequestor());
itransfer = request.accept();
Log.i("Recieve File alert dialog", "accepted");
try {
itransfer.recieveFile(new File("/sdcard/XmmpChat/Files/"+ request.getFileName()));
incomingfiletransferfilename=request.getFileName();
Log.d("filename", request.getFileName()+itransfer.getProgress());
Log.d("filename2", request.getFileName()+imagesentstatus);
while (!itransfer.isDone()) {
try{
Thread.sleep(10000);
Log.i("Recieve File alert dialog", "still receiving : "+ (itransfer.getProgress()) + " status "
+ itransfer.getStatus());
if(itransfer.getStatus().equals(otransfer.getError())){
itransfer.cancel();
break;
}
//if(itransfer.getStatus().equals(itransfer.getStatus())) {
//Log.i("Error file", itransfer.getStatus()+itransfer.getError().getMessage());
//itransfer.cancel();
//break;
//}
}catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// }
}catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
return null;
}
@Override
protected void onPostExecute(String result) {
}
}
File Receiving stanza:
04-13 18:15:37.198: D/SMACK(18696): 06:15:37 PM SENT (1115583608): <iq id="31ae5-40" to="a@jabberid/Smack" from="b@jabberid/Smack" type="result"><si xmlns="http://jabber.org/protocol/si"><feature xmlns="http://jabber.org/protocol/feature-neg"><x xmlns="jabber:x:data" type="submit"><field var="stream-method"><value>http://jabber.org/protocol/bytestreams</value><value>http://jabber.org/protocol/ibb</value></field></x></feature></si></iq>
04-13 18:15:38.256: D/SMACK(18696): 06:15:38 PM RCV (1115583608): <iq from='a@jabberid/Smack' to='b@jabberid/Smack' id='31ae5-42' type='set'><open xmlns='http://jabber.org/protocol/ibb' block-size='4096' sid='jsi_539855276279822679' stanza='iq'/></iq>
04-13 18:15:38.264: D/SMACK(18696): 06:15:38 PM SENT (1115583608): <iq id="31ae5-42" to="a@jabberid/Smack" from="b@jabberid/Smack" type="result"></iq>
04-13 18:15:39.487: D/SMACK(18696): 06:15:39 PM RCV (1115583608): <iq from='a@jabberid/Smack' to='b@jabberid/Smack' id='31ae5-43' type='set'><data xmlns='http://jabber.org/protocol/ibb' seq='0' sid='jsi_539855276279822679'>UEsDBBQABgAIAAAAIQBzQbOdjgEAAJwGAAATANYBW0NvbnRlbn RfVHlwZXNdLnhtbCCi0gEoo
AACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzFXLbsIw ELxX6j9EvlbEQK
qqhI49HFskaAfYOKFWCS25V0o/H034aG2AgQNh14SJbFnZmfHm6S/LItoAQGNs6noxG0Rgc2cNnaaio/ Ra+tBREjKalU4C6lYAYp+7/oqGa08YMS7LaYiJ/KPUmKWQ6kwdh4sf5m4UCrixzCVXmUzNQXZbbfvZeY sgaUWVRiilzzDRM0Lil6W/HqtZGysiJ7W6yqqVCjvC5MpYqFy
04-13 18:15:49.627: D/SMACK(18696): 06:15:49 PM RCV (1115583608): <iq from='a@jabberid/Smack' to='b@jabberid/Smack' id='31ae5-44' type='set'><data xmlns='http://jabber.org/protocol/ibb' seq='0' sid='jsi_539855276279822679'>UEsDBBQABgAIAAAAIQBzQbOdjgEAAJwGAAATANYBW0NvbnRlbn RfVHlwZXNdLnhtbCCi0gEooAA/N2uM222M2REk0D6jZQh2
miQ+L6HivmcsaJwUxlU8YOm2ibcOuPAlQKhUwvr9cVJxqemJYer+w2GKQubwYvK6Ah1OJA4UD3h9X0rr 6XxWSAWrkyPCrf3kFd77oChR3IdXIQOIjA6xNA38arjaPtdStdNR
f0STeWfyyxEBBa9VWKK9MzvmxYaMjdvNNoqVhMZfQG1JDmuphWkyOhhjtMdzlTKsmjhaSxHKjDI2GYzO vXeQ2zJkdDJ5xB7Pg9zDkm9wq9VKrsRinCgaT6Kj1xxzDhC
ctAwfr837Az2llLipxA/3IdKW5jZkcAVBeAeJyteQ2oobKgjvIIO/KhfItQo+RQcZRn9RBk3lXOUYfXt EB2w4Sidx4/z3zX8AAAD//wMAUEsDBBQABgAIAAAAIQD19bxnBAgAAEYqAAAYAAAAeGwvd29ya3NoZWV 0cy9zaGVldDQueG1sjJrbbttGEIbvC/QdBN7XEo9yDMtBSDtugRYoih6uGYmyhUiiKzJ2+/bd2ZWWc0x 6E9nzD/nNnv4RY96+/+ewn712p2HXH1dJerVIZt1x3W92x6dV8sfvH3+4TmbD2B437b4/dqvk325I3t9 9/93tW3/6PDx33ThzdzgOq+R5HF9u5vNh/dwd2uGqf+mOTtn2p0M7ul9PT
04-13 18:15:59.456: D/SMACK(18696): 06:15:59 PM RCV (1115583608): <iq from='a@jabberid/Smack' to='b@jabberid/Smack' id='31ae5-45' type='set'><close xmlns='http://jabber.org/protocol/ibb' sid='jsi_539855276279822679'/></iq>
File Sending Stanza:
04-13 18:51:15.071: D/SMACK(8745): 06:51:15 PM SENT (637885644): <iq id="zE0h7-40" to="a@jabberid/Smack" from="b@jabberid/Smack" type="set"><si xmlns="http://jabber.org/protocol/si" id="jsi_9100083789416753218" mime-type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" profile="http://jabber.org/protocol/si/profile/file-transfer"><file xmlns="http://jabber.org/protocol/si/profile/file-transfer" name="a.xlsx" size="19267" ><desc>Description</desc></file><feature xmlns="http://jabber.org/protocol/feature-neg"><x xmlns="jabber:x:data" type="form"><field var="stream-method" type="list-single"><option><value>http://jabber.org/protocol/bytestreams</value></option><option><value>http://jabber.org/protocol/ibb</value></option></field></x></feature></si></iq>
04-13 18:51:16.864: D/SMACK(8745): 06:51:16 PM RCV (637885644): <iq from='a@jabberid/Smack' to='b@jabberid/Smack' id='zE0h7-40' type='result'><si xmlns='http://jabber.org/protocol/si'><feature xmlns='http://jabber.org/protocol/feature-neg'><x xmlns='jabber:x:data' type='submit'><field var='stream-method'><value>http://jabber.org/protocol/bytestreams</value><value>http://jabber.org/protocol/ibb</value></field></x></feature></si></iq>
04-13 18:51:16.878: D/SMACK(8745): 06:51:16 PM SENT (637885644): <iq id="zE0h7-41" to="a@jabberid/Smack" type="get"><query xmlns="http://jabber.org/protocol/disco#info"></query></iq>
04-13 18:51:25.054: I/transfere file(8745): sending file status Negotiating Streamprogress: 0.0
04-13 18:51:26.886: D/SMACK(8745): 06:51:26 PM SENT (637885644): <iq id="zE0h7-42" to="a@jabberid/Smack" type="set"><open xmlns="http://jabber.org/protocol/ibb" block-size="4096" sid="jsi_9100083789416753218" stanza="iq"/></iq>
04-13 18:51:28.079: D/SMACK(8745): 06:51:28 PM RCV (637885644): <iq from='a@jabberid/Smack' to='b@jabberid/Smack' id='zE0h7-42' type='result'/>
04-13 18:51:28.086: D/SMACK(8745): 06:51:28 PM SENT (637885644): <iq id="zE0h7-43" to="a@jabberid/Smack" type="set"><data xmlns="http://jabber.org/protocol/ibb" seq="0" sid="jsi_9100083789416753218">UEsDBBQABgAIAAAAIQBzQbOdjgEAAJwGAAATANYBW0NvbnRlb nRfVHlwZXNdLnhtbCCi0gEooAACAAAAAAAAAAAAAAAAAAA/vsJN5QaCuzHdCGYG3Xu4jLTdfXateEdHj TUKkigGgSa3RWMqBa+Hp5t7EMTaFLq1BhUMSLDLrq+2z9hq9peobnoSXsWQgpq5f5CS8ho7TZHt0fhJa V2n2Zeukr3Oj7pCmcbxRrrfGpCdaYp9ocDtixWIw9B757+1bVk2OT7a/K1Dwxcs5Id1R6oR2YtqVyErC C2S42QVeWKQl2HuloShWjssXtj5rGkCOmvPw3/6PDx33ThzdzgOq+R5HF9u5vNh/dwd2uGqf+mOTtn2p 0M7ul9PT/Ph5dS1G3/RYT/PFotqfmh3xyTc4eb0f+7
04-13 18:51:35.054: I/transfere file(8745): sending file status In Progressprogress: 0.0
04-13 18:51:38.096: D/SMACK(8745): 06:51:38 PM SENT (637885644): <iq id="zE0h7-44" to="a@jabberid/Smack" type="set"><data xmlns="http://jabber.org/protocol/ibb" seq="0" sid="jsi_9100083789416753218">UEsDBBQABgAIAAAAIQBzQbOdjgEAAJwGAAATANYBW0NvbnRlb nRfVHlwZXNdLnhtbCCi0gEooAACAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAIySz07DMAzG70i8Q+T76m5ICKGlu0xIuyFUHsAk7h+1jaMkQPf2hAOCSmPb0fbnz z9b3u7maVQfHGIvTsO6KEG//wMAUE
sDBBQABgAIAAAAIQCBW7jJGgEAAGEEAAAaAAgBeGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHMgogQBKK AAAQAAAAAAAAAAAA/vsJN5QaCuz
HdCGYG3Xu4jLTdfXateEdHjTUKkigGgSa3RWMqBa+Hp5t7EMTaFLq1BhUMSLDLrq+2z9hq9peobnoSXs WQgpq5f5CS8ho7/JZzcx1KO52wE6yUZwiZMHKF1Wo71TyDy7GPIvgAAAP//AwBQSwMEFAAGAAgAAAAhA J2Fo3R7AQAAwQIAAA8AAAB4bC93b3JrYm9vay54bWyMUstuwjAQvFfqP1i+lxDzaEEEpKqt2kvVA4Wzi T
fEwrEt2yHw990YEWjFoSdnHzPjGWe2OFSK7MF5aXRG016fEtC5EVJvM/q9fHt4osQHrgVXRkNGj+DpYn 5/N2uM222M2REk0D6jZQh2miQ+L6HivmcsaJwUxlU8YOm2ibcOuPAlQKhUwvr9cVJxqemJYer+w2GKQu bwYvK6Ah1OJA4UD3h9
X0rr6XxWSAWrkyPCrf3kFd77oChR3IdXIQOIjA6xNA38arjaPtdStdNRf0STeWfyyxEBBa9VWKK9Mzvm xYaMjdvNNoqVhMZfQG1JDm
uphWkyOhhjtMdzlTKsmjhaSxHKjDI2GYzOvXeQ2zJkdDJ5xB7Pg9zDkm9wq9VKrsRinCgaT6Kj1xxzDh CctAwfr837Az2llLipxA/3IdKW5jZkcAVBeAeJyteQ2oobKgjvIIO/KhfItQo+RQcZRn9RBk3lXOUYfX tEB2w4Sidx4/z3zX8AAAD//wMAUEsDBBQABgAIAAAAIQD19bxnBAgAAEYqAAAYAAAAeGwvd29ya3NoZW V0cy9zaGVldDQueG1sjJrbbttGEIbvC/QdBN7XEo9yDMtBSDtugRYoih6uGYmyhUiiKzJ2+/bd2ZWWc0 x6E9nzD/nNnv4RY96+/+ewn712p2HXH1dJerVIZt1x3W92x6dV8sfvH3+4TmbD2B437b4/dqvk325I3t 99/93tW3/6PDx33ThzdzgOq+R5HF9u5vNh/dwd2uGqf+mOTtn2p0M7ul9PT/Ph5dS1G3/RYT/PFotqfm h3xyTc4eb0f+7
04-13 18:51:45.055: I/transfere file(8745): sending file status In Progressprogress: 0.0
04-13 18:51:48.105: D/SMACK(8745): 06:51:48 PM SENT (637885644): <iq id="zE0h7-45" to="a@jabberid/Smack" type="set"><close xmlns="http://jabber.org/protocol/ibb" sid="jsi_9100083789416753218"/></iq>
04-13 18:51:55.055: I/transfere file(8745): sending file status In Progressprogress: 0.0
04-13 18:52:05.056: I/transfere file(8745): sending file status Errorprogress: 0.0
i am able to receive a zero size file and <data xmlns="http://jabber.org/protocol/ibb" seq="0" sid="jsi_9100083789416753218"> also.
plz help me to sort out this.