Java Server Android client Wifi sending file, socket error -
i have problem sending file server (desktop app) client (android)....
before send file, server send meta data size of file, name etc.....
server side send method:
private void sendpdfdata(outputstream os, file file) throws ioexception { os.flush(); fileinputstream fis = new fileinputstream(file); byte[] buffor = new byte[1024]; long count = 0l; long size = file.length(); int current = 0; while (count < size) { current = fis.read(buffor, 0, buffor.length); os.write(buffor, 0, current); count += current; } fis.close(); os.flush(); }
client side receive method:
@override protected string doinbackground(void... params) { string pathtopdf = ""; if (pdf.getlength() > 0) { inputstream is; try { byte b = 0; clientsocket.getoutputstream().write(b); = clientsocket.getinputstream(); pathtopdf = pathtoexternalstoragefolder+pdf.getmeta().getname(); pathtopdf = pathtopdf.replace(".\\", "/"); pathtopdf = pathtopdf.replace("\\", "/"); int size = pdf.getlength(); byte[] buffor = new byte[1024]; int current = 0; int count = 0; if (pdf.getmeta() != null) { fileoutputstream fos = new fileoutputstream(pathtopdf); while (count < size) { current = is.read(buffor, 0, buffor.length); fos.write(buffor, 0, current); count += current; } fos.close(); } } catch (ioexception e) { e.printstacktrace(); } } return pathtopdf; }
some random errors when sending file:
java.net.socketexception: software caused connection abort: socket write error java.net.socketexception: connection reset peer: socket write error file size: 2317679 sended: 44032
update 08.09.2013
i create desktop client app check server app. when run server , client in netbeans runs great, use interface address (not lopback). when run client jar have issue: file list null on server side not null , not empty, when connect android files list wtfigo - magic.
"this error can occur when local network system aborts connection, such when winsock closes established connection after data retransmission fails (receiver never acknowledges data sent on datastream socket).".
http://msdn.microsoft.com/en-us/library/ms832256.aspx
https://forums.oracle.com/thread/1691330
socket.close()
in 1 thread while reading or writing socket, results in exception being thrown since socket closed.
try adding autoreconnect=true
jdbc connection string
Comments
Post a Comment