Comment
Author: Admin | 2025-04-28
I wrote a simple server and client example as below . Client :Open a connection Get outputstream , write to stream and close the output streamGet inputstream and read from the stream. Getting exception at this pointpublic class DateServer {public static void main(String[] args) throws InterruptedException {ServerSocket serverSocket = null;Socket client = null;try { serverSocket = new ServerSocket(6013); while (true) { client = serverSocket.accept(); OutputStream outputStream = client.getOutputStream(); InputStream inputStream = client.getInputStream(); System.out.println("" + outputStream + "-" + inputStream); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream)); String line = null; while ((line = bufferedReader.readLine()) != null) { System.out .println("Message recieved from client ::" + line); } PrintWriter printWriter = new PrintWriter(outputStream, true); printWriter.println(new java.util.Date().toString()); client.close(); }} catch (IOException exception) { exception.printStackTrace(); System.err.println(exception);} } }Client : public class DateClient {public static void main(String[] args) throws UnknownHostException, IOException, InterruptedException { Socket sock = new Socket("127.0.0.1", 6013); OutputStream outputStream = sock.getOutputStream(); InputStream inputStream = sock.getInputStream(); System.out.println("" + outputStream + "-" + inputStream); PrintWriter printWriter = new PrintWriter(outputStream, true); printWriter.println("Hi Server"); outputStream.close(); System.out.println(sock.isConnected()); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream)); String line; while ((line = bufferedReader.readLine()) != null) { // Exception System.out.println(line); }}}Getting below socket closed exception in Client . Could you please let me know what would be the reason. Exception in thread "main" java.net.SocketException: Socket closedat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.read(SocketInputStream.java:146)at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:282)at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:324)at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:176)at java.io.InputStreamReader.read(InputStreamReader.java:184)at java.io.BufferedReader.fill(BufferedReader.java:153)at java.io.BufferedReader.readLine(BufferedReader.java:316)at java.io.BufferedReader.readLine(BufferedReader.java:379)at edu.iub.cs.httpserver.DateClient.main(DateClient.java:32)
Add Comment