Я пытаюсь создать простое приложение в Python с сокетами, но клиенты получают сообщение «Тест», отправленное с сервера, только если они находятся в локальной сети. Я попытался запустить клиент (сервер работает на моем P C) с моего ноутбука и с моего P C. В обоих случаях я получил сообщение «Тест», но когда друг пытается подключиться, он не получает сообщение.
Вот мой server.py
:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 7908))
s.listen(5)
while True:
clientsocket, address = s.accept()
print(f"Connection from {address} established")
clientsocket.send(bytes("Test", "utf-8"))
А здесь мой client.py
:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("my_public_ip_address", 7908))
print(s.recv(8).decode("utf-8"))
Я компилирую client.py
с помощью pyinstaller перед отправкой, чтобы скрипт мог работать без установки Python на машине (у меня даже * 1019 нет * на моем ноутбуке)
Спасибо, что нашли время, чтобы прочитать и заметить это :) (Извините, если мой английский sh плох, я француз)