Я программирую торговую игру, для которой требуется многопользовательская игра. Я понял, что мой клиент может получить доступ только через «localhost» на ПК, на котором работает сервер. Как я могу выяснить, находится ли сервер в сети, поэтому я знаю, является ли брандмауэр или что-то еще? Если кто-то уже знает решение, я был бы еще счастливее.Доступ только к моему серверу через «localhost»
Спасибо!
редактировать: Моя операционная система Windows 7
Update: мне удалось подключиться к серверу на том же компьютере с двумя адресами я нашел через Ipconfig. Тот, который мой корневик осмыслил меня, и я не знаю, был другой. Сначала я попробовал тот, который нашел через поиск «что такое мой IP» в Google, который не работал. Я до сих пор не могу подключиться к серверу через другие компьютеры, подключенные к одному маршрутизатору (fritz-box).
Server:
ExecutorService executor = Executors.newFixedThreadPool(100);
ServerSocket server;
try {
server = new ServerSocket(5555);
System.out.println("Server gestartet");
while(true){
Socket client = server.accept();
executor.execute(new ClientHandler(client));
}
}catch (Exception e) {
e.printStackTrace();
}
}
Client:
try {
InetAddress addr = InetAddress.getByName("MY IP");
//Works
client = new Socket("localhost",Port);
//Does not work
client = new Socket(addr,Port);
//Does not work
client = new Socket("MY IP",Port);
System.out.println("Client gestartet");
//Streams
out = client.getOutputStream();
writer = new PrintWriter(out);
in = client.getInputStream();
reader = new BufferedReader(new InputStreamReader(in));
// ------------------------------------------------
String s = null;
while((s=reader.readLine())!=null){
render(s);
}
} catch (IOException e)
{
e.printStackTrace();
}
Я покинул ClientHandler, потому что я уверен, что нет проблемы.
Какая ОС вы используете? – medievalgeek
Вы пробовали формат 'ServerSocket (int port, int backlog, InetAddress bindAddr)' в соответствии с https://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html#ServerSocket (ИНТ,% 20int,% 20java.net.InetAddress)? – Hang
@Hang На этой странице вы указали, что она связывается с любыми/всеми локальными адресами, если bindAddr не указан. – medievalgeek