This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
The following are the codes for client and server to exchange a file. It works like this: The client sends a connection request and the server begins to transfer the file and the client just recieves the file. The location of the file and the size of the file are predefined, for the sake of simplicity.
How is it that the client reads from the InputStream only after the Server sends the data and not before it sends data? How does it know when to start reading from InputStream? I am presently running the client and server on local host and the code is working fine.
Haritha Gorijavolu wrote:How is it that the client reads from the InputStream only after the Server sends the data and not before it sends data? How does it know when to start reading from InputStream?
What would it read if the server hasn't sent anything yet? The read method simply blocks until some data is available. Be aware that this may not everything that was sent; some bytes may still be on their way. That's why you usually should read in while loops.