Я сделал некоторый код для отправки сообщения из Java на Python с использованием сокета, но, как обычно, мой код сможет подключиться и отправить сообщение серверу. Он может подключаться только к serveur и отправлять данные с частного ip, но когда я хотел подключиться откуда угодно, я использовал перенаправление портов, но я был удивлен, потому что мой Java-код мог подключиться к серверу Python, но не смог отправить текст на него,Я не знаю почему, потому что раньше он работал, потому что я пытаюсь отправить и получить, не закрывая сокет, для сервера, который является кодом на Python, и для клиента, который пытается отправить и получить сообщение, не закрывая сокет. Это были единственные изменения, которые я сделал, которые могли объяснить, почему я не могу отправить текст, чтобы помочь вам поставить код, я был бы рад помочь вам, если у вас возникнут вопросы по коду. Спасибо за помощь.
sock = new Socket( "public ip router", 1234 );
printWriter = new PrintWriter( sock.getOutputStream() );
printWriter.write("hello world");
printWriter.flush();
printWriter.close();
dis = new DataInputStream(sock.getInputStream());
final String message_entrant21;
message_entrant21 = dis.readLine();
Message232 = message_entrant21;
и сервер в Python
import socket
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
while True:
host, port = ('',1234)
socket.bind((host, port))
socket.listen(5)
conn, adress = socket.accept()
print("listening")
response = socket.recv(255)
print(response)
socket.send(bytes(b'hello'))
socket.close()