I got server-client application. On the client side, I am using this I/O stream to output data:
out = new PrintWriter(socket.getOutputStream(), true);
out.println("yeah");
On the server side I am trying to read the product by this line:
DataInputStream din = new DataInputStream(s.getInputStream());
String clientId = din.readUTF();
The server reaches the above statement and stops there. What’s the problem? Are the two I/O streams not compatible with each other?
There are no exceptions thrown by either party, no output. I simply added System.out.println() before and after the above statement I=and I determined that the program does not cross this line:String clientId = din.readUTF();
You should use the
DataOutputStream.writeUTF()method if you want to read from the other end of the socket withDataInputStream.readUTF(). See the Javadoc onDataInputfor more detail on why. As an alternative, try using a buffered reader or scanner to read in your data.