포트가 열려 있는지 확인하지만 내 용도대로 수정하는 내용을 작성 중입니다.try 시도 및 동일 제외
나는 확인을 위해 시간 제한을 설정하고 제한 시간에 도달하면 그것은 socket.timeout
예외가 발생,하지만 난 try
내부의 코드 블록도 socket.timeout
에 호출 할 :
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(5)
result = sock.connect_ex((check_server_ip, check_port))
if result == 0:
# act on open port
else:
# act on closed port
sock.close()
except socket.timeout:
# act on closed port
내가 # act on closed port
에있는 코드 블록이다 긴. 코드가있는 함수를 만들고 else
문과 socket.timeout
예외를 호출 할 수는 있지만 파이썬에는 더 영리한 것이있을 것입니다.
무엇을 할 수 있습니까?
'finally :'를 찾고 계십니까? – tripleee
@ tripleee 왜냐하면'if result == 0'을 호출하기를 원하지 않기 때문에'finally'가 항상 호출되기 때문입니다. – Moshe
'여부 = 참; 시도 : 사물; 결과 == 0 : 여부 = 거짓; 기타; 마지막으로 : 만약에 : "닫힌 소켓으로 일을 할 것인가? – tripleee