В этой чрезвычайно простой клиентской/серверной программе сокетов почему мой клиентский сокет никогда не подключается и не бросает java.net.ConnectException
? Я запускаю программу MessageServer на одном компьютере и программу ClientServer на другом ноутбуке в той же сети. Я проверил, что local-ip компьютера, на котором запущена серверная программа, 10.0.0.1, используя команду ipconfig в Windows cmd на этом компьютере.Почему мой клиент Socket не подключается к моему серверу?
Сервер:
package server;
import java.net.*;
import java.io.*;
public class MessageServer {
public static void main(String args[]) {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(4302);
}
catch (Exception e) {
System.out.println("well bad news...");
}
boolean noConnection = true;
while(noConnection == true) {
try {
Socket client = serverSocket.accept();
System.out.println("socket connection accepted:" + client.getRemoteSocketAddress().toString());
noConnection = false;
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("fail");
}
}
}
}
Клиент:
import java.net.*;
import java.io.*;
public class MessageClient {
public static void main(String args[]) {
Socket clientSocket = null;
String recieve;
try {
clientSocket = new Socket("10.0.0.1", 4302);
} catch (Exception e) {
System.out.println("deal with it...");
e.printStackTrace();
}
}
}
Когда я бегу эти 2 программы, я получаю следующий результат на клиентской машине:
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at MessageClient.main(MessageClient.java:10)
Нет проблем с сервер.
EDIT: Я попытался отключить мою защиту в Интернете (Norton 360), не помог. Кроме того, я бегу (на обоих компьютерах) Windows 10, Java 8 Update 65, Eclipse IDE Марс 1
EDIT 2: В случае помогает, я попытался запустить обе части программы на одном компьютере, это работает. Все признаки указывают на проблему с брандмауэром Windows. Я постараюсь сделать это как можно скорее.
Скорее всего, причина: брандмауэр Windows. –
@ HarryJohnston удивляет, окна Microsoft меня заворачивают. О, подождите, неважно. = \. –