So I want to learn about Sockets in Java, therefore I followed this "tutorial". Although I copied the code from the tutorial I am getting an Exception.
Exception in thread "main" java.net.SocketException: Connection reset
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:318)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:346)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:796)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1099)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:329)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:372)
at java.base/sun.nio.cs.StreamDecoder.lockedRead(StreamDecoder.java:215)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:169)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:188)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:160)
at java.base/java.io.BufferedReader.implReadLine(BufferedReader.java:370)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:347)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:436)
at Server.main(Server.java:17)
This is my Client code:
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
Socket s = new Socket("localhost", 4999);
PrintWriter pr = new PrintWriter(s.getOutputStream());
pr.println("hello");
pr.flush();
}
}
And this is my Server code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.Buffer;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(4999);
Socket s = ss.accept();
System.out.println("client connected");
InputStreamReader in = new InputStreamReader(s.getInputStream());
BufferedReader bf = new BufferedReader(in);
String str = bf.readLine();
System.out.println("client : " + str);
}
}
I tried to close the Client connection in the Client class with s.close(); but the same Exception occurred.