I am trying to send a file from "server" to "client" using BufferedOutputStream and BufferedInputStream on both ends. The problem is that although I flush() the BufferedOutputStream on server on every write(right side), the data arrives to client socket once every couple flushes(left side). I am trying to send a file from "server" to "cl