Почему я не могу слушать 127.0.0.1:порт по сокету - PullRequest
1 голос
/ 19 сентября 2019

java.net.ConnectException: соединение отклонено (соединение отклонено)

нет программ, использующих порт

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)

1 Ответ

1 голос
/ 19 сентября 2019

Вы создаете клиентский сокет.Таким образом, некоторые серверы должны прослушивать порт 9876, иначе вы получите java.net.ConnectException: Connection refused (Connection refused).Если вы хотите слушать 9876, используйте:

Сервер:

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());   

После этого вы можете создать клиента:

Cient:

Socket clientSocket = new Socket("localhost", 9876);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
out.write("Hello! " + "\n"); // send to server
out.flush();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...