Я думаю, что вам, возможно, понадобится timeout
.
В конце концов, ваше sock.connect_ex( )
будет вызывать исключение socket.error: [Errno 110] Connection timed out
, как вы можете прочитать об этом, в этом ответе .
Но время ожидания по умолчанию может быть 120 секунд, и, возможно, вы не хотите ждать так много. Таким образом, вы можете установить свой собственный тайм-аут, например:
try:
for port in range(1, 1024):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(10) #timeout set for wait up 10 seconds.
result = sock.connect_ex((serverIP, port))
sock.settimeout(None)
Чтобы узнать, зачем использовать sock.settimeout(None)
, и посмотреть другие способы установки timeout
, вы можете прочитать это обсуждение .
Я не уверен, что это то, что вы ищете, но я надеюсь, что это может помочь.