I\'m trying to download a file using socket and server in java.
myClient = new Socket(address,port);
myClient.setSoTimeout(MyFileManager.TIME_OUT);
in = ne
Why do you think that this line returns the number of bytes in the stream??
long size = in.readLong(); //get the size
You should do in.read()
until it returns -1.
I think that the loop should be something like:
for (int i=0; i<size; i++)...
Since streams are 0 based.
Also, you might want to keep reading until you hit the EOF rather than reading a specific number of bytes. See this tutorial to learn how :)