Я пытаюсь установить sh соединение через сокет, поэтому я написал и попробовал этот пример кода с server.py и client.py:
server.py:
import socket
port = 5674
ip = socket.gethostbyname(socket.gethostname())
s = socket.socket()
s.bind((ip, port))
s.listen(2)
print('Server is ready')
while True:
client, address = s.accept()
print('New connection to {}'.format(address))
client.send('You are connected to the server!'.encode('utf-8'))
client.py:
import socket
ip = '' # enter ip address of server
port = 5674
s = socket.socket()
s.connect((ip, port))
msg = s.recv(1024).decode('utf-8')
print(msg)
Попытка запустить это на одной машине будет работать абсолютно нормально.
Запуск на разных машинах в разных сетях выдаст следующее сообщение об ошибке в client.py :
Traceback (последний вызов был последним): файл "D: /Python/01programs/SocketTest/client.py", строка 7, в s.connect ((ip, port)) TimeoutError: [WinError 10060] Ein Verbindungsversuch ist fehlgeschlagen, da d ie Gegenstelle nach einer> bestimmten Zeitspanne nicht richtig reagiert hat, oder d ie hergestellte Verbindung war fehlerhaft, da> der verbundene > сокращено в Engli sh: попытка подключения не удалась, поскольку подключенный хост не ответил вовремя
Что не так с этим соединением сокета? Я бы сказал, что кажется, что клиент не может найти сервер и не может подключиться из-за этого.
Какая часть не так и как исправить? Спасибо за помощь!
PS: я уже прочитал много вопросов, связанных с этой проблемой, но ни один из них, похоже, не помог в моем случае.