
default_socket_timeout은 소켓 연결에 대한 타임아웃 시간을 설정하는 변수입니다. 소켓 연결이 성공적으로 이루어지지 않거나, 데이터 전송이 완료되지 않을 때, 프로그램이 무한정 대기하는 것을 방지하기 위해 사용됩니다.
default_socket_timeout을 설정하지 않았을 때 발생하는 문제점은 다음과 같습니다.
- 프로그램이 무한정 대기하여 사용자 경험에 부정적인 영향을 미칠 수 있습니다.
- 소켓 연결이 실패할 경우, 프로그램이 종료되지 않고 계속 실행되어 시스템 리소스를 소진할 수 있습니다.
default_socket_timeout을 설정하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 소켓 라이브러리의 설정 함수를 사용하는 것입니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
python
import socket
# 소켓 객체 생성
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# default_socket_timeout 설정
sock.settimeout(10) # 10초 타임아웃
try:
# 소켓 연결
sock.connect(('www.google.com', 80))
except socket.timeout:
print("타임아웃 발생")
except socket.error as e:
print("소켓 연결 실패: ", e)
# 소켓 닫기
sock.close()
위 코드에서는 socket 라이브러리의 settimeout 함수를 사용하여 default_socket_timeout을 10초로 설정했습니다. 만약 소켓 연결이 10초 이내에 성공하지 않으면, socket.timeout 예외가 발생합니다.
2025-06-05 15:41