Эти функции клиента/сервера не работают на WAN во время работы на LAN (я уверен, что нет проблем с брандмауэром или PortJAVA

Программисты JAVA общаются здесь
Anonymous
Эти функции клиента/сервера не работают на WAN во время работы на LAN (я уверен, что нет проблем с брандмауэром или Port

Сообщение Anonymous »

Сервер: < /p>

Код: Выделить всё

serverSocket = new ServerSocket();
serverSocket.setReuseAddress(true);
serverSocket.bind(new InetSocketAddress(port));
serverSocket.setSoTimeout(TIME_OUT);

LOGGER.info("Waiting for client...");
clientSocket = serverSocket.accept();
clientSocket.setTcpNoDelay(true);

LOGGER.info("Creating output");
output = new ObjectOutputStream(clientSocket.getOutputStream());
output.flush();

LOGGER.info("Creating input");
input = new ObjectInputStream(clientSocket.getInputStream());

String password = (String) input.readObject();

output.writeObject("Welcome");
output.flush();
< /code>
client: < /p>
socket = new Socket();
socket.setTcpNoDelay(true);
socket.connect(new InetSocketAddress(host, port), TIMEOUT);

Log.d("Client", "Creating Output");
output = new ObjectOutputStream(socket.getOutputStream());
output.flush();

Log.d("Client", "Sending password");
output.writeObject(password);
output.flush();

Log.d("Client", "Creating Input");
input = new ObjectInputStream(socket.getInputStream());

String response = (String) input.readObject();
< /code>
Клиентские журналы: < /p>
2025-05-25 00:09:18.613 21519-24012 Client com...b.jesusmrs05.mcforgecommander D Creating Output
2025-05-25 00:09:18.613 21519-24012 Client com...b.jesusmrs05.mcforgecommander D Sending password
2025-05-25 00:09:18.615 21519-24012 Client com...b.jesusmrs05.mcforgecommander D Creating Input
< /code>
Журналы сервера: < /p>
[00:08:43] [Thread-8/INFO] [MCForgeCommander]: Waiting for client...
[00:09:15] [Thread-8/INFO] [MCForgeCommander]: Creating output
[00:09:15] [Thread-8/INFO] [MCForgeCommander]: Creating input
[00:09:34] [Thread-8/ERROR] [MCForgeCommander]: Error starting the server: Read timed out
[00:09:34] [Thread-8/ERROR] [MCForgeCommander]: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.net.SocketInputStream.read(SocketInputStream.java:224)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2792)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:3099)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3109)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1620)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:503)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:461)
at com.github.jesusmrs05.mcforgecommander.server.Server$1.run(Server.java:205)
at java.lang.Thread.run(Thread.java:750)
Я попытался изменить порядок ввода/вывода объекта. Это не сработало.
Я попытался использовать только обычные потоки ввода /вывода с int Read () и написать (int), чтобы доказать, что нет проблем с брандмауэром или пересылкой порта. Это сработало.
Я попытался отправить сообщение через сервер перед созданием ввода. Это не сработало.
Я ожидал, что этот сервер не остановит/не блокирует «Создание ввода» (сервер) и «Создание ввода» (клиент)

Подробнее здесь: https://stackoverflow.com/questions/796 ... -lan-im-su

Вернуться в «JAVA»