Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

File copying over socket connection problem

 
Mathew Fulton
Greenhorn
Posts: 2
Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey guys!

I'm busy developing a chat program and want to add a file sending capability.
I managed to write a standalone server and client to JUST send a file and it worked.

However, when I incorporated it into my chat program it does not work properly. The file is copied but it doesn't break out of the while loop.
I'm doing it using a byte[] array and a DataInputStream.

Here is the basics of what it looks like (and it works in the standalones)



Now the client works perfect, sending everything and printing the last number of bytes. But the server does not pick up the last lot and so doesn't break out of the loop.

Thanks
 
Rob Spoor
Sheriff
Pie
Posts: 20605
60
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch!

I don't think this will solve the problem, but there is a flaw in your program - the read(byte[]) method does not necessarily fill the entire array. Especially the last read will fill it only partially (unless the total size is a multiple of the array size). Use the following code to fix this:
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic