Попытка проникнуть в сокеты и сети. Я написал несколько простых серверных и клиентских сценариев и запустил их, которые работали, когда локально подключался, а клиент-сервер общался очень хорошо, но когда мой клиентский сценарий пытается подключиться к my_external_ip: open_port, он получает «Connection Refused» [WinError 10061]
Я открыл порт (в данном случае 5234) и проверил его, используя те сайты сканирования портов, на что сервер, похоже, реагирует и даже принимает соединения.
Тем не менее, когда я запускаю свойклиентский скрипт, он выдает исключение, и сервер, похоже, не отвечает и даже не знает о попытке подключения.
Я временно отключил свой брандмауэр и убедился, что слушаю 0.0. 0.0: 5234 (насколько я понимаю, что я делаю).
Я что-то упустил? Мне не имеет смысла, что скрипт запускается локально, сервер принимает входящие внешние соединения, но это не работает. Может быть, проблема в том, что попытка исходящего соединения клиента каким-то образом заблокирована?
Я очистил некоторый несвязанный код, но это все:
СЕРВЕР:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server = "" #Also tried socket.gethostname() and 0.0.0.0
port = 5234
s.bind((server,port))
s.listen()
connection, address = s.accept()
КЛИЕНТ:
def __init__(self):
self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.server = my_public_ip
self.port = 5234
self.client.connect((self.server,self.port)