Reputation: 29
java.net.ConnectException: Connection refused (Connection refused)
no program using the port
Socket socket = new Socket("127.0.0.1", 9876);
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
Upvotes: 1
Views: 1217
Reputation: 3572
You create client socket. So some server should listen 9876 port otherwise you will get java.net.ConnectException: Connection refused (Connection refused)
. If you want to listen 9876 use:
Server:
ServerSocket serverSocket = new ServerSocket(9876);
Socket socket = server.accept(); // accept() waiting for client connection
//read from socket on server
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println("Message from client " + in.readLine());
After that you can create a client:
Cient:
Socket clientSocket = new Socket("localhost", 9876);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
out.write("Hello! " + "\n"); // send to server
out.flush();
Upvotes: 1