
default_socket_timeout은 소켓 연결에 대한 타임아웃을 설정하는 데 사용되는 옵션입니다.
소켓 연결이 성공적으로 이루어지지 않거나, 서버가 응답을 보내지 않으면, 소켓이 타임아웃을 발생시키게 됩니다.
default_socket_timeout을 설정하지 않았을 때, 소켓은 기본적으로 60초의 타임아웃을 가집니다.
소켓.connect() 메서드에서 default_socket_timeout을 설정하는 방법은 다음과 같습니다.
#hostingforum.kr
python
import socket
# default_socket_timeout을 10초로 설정
socket.setdefaulttimeout(10)
default_socket_timeout을 설정하면, 소켓이 연결을 시도할 때 타임아웃을 설정할 수 있습니다.
예를 들어, 다음 코드는 10초의 타임아웃을 설정한 후 소켓 연결을 시도합니다.
#hostingforum.kr
python
import socket
# default_socket_timeout을 10초로 설정
socket.setdefaulttimeout(10)
# 소켓 연결을 시도
try:
sock = socket.create_connection(("www.google.com", 80))
except socket.timeout:
print("타임아웃 발생")
default_socket_timeout을 설정하지 않았을 때와 설정했을 때의 차이점은 다음과 같습니다.
- default_socket_timeout을 설정하지 않았을 때: 소켓은 기본적으로 60초의 타임아웃을 가집니다.
- default_socket_timeout을 설정했을 때: 소켓은 설정한 타임아웃 값을 가집니다.
default_socket_timeout을 사용하여 socket timeout을 설정하는 예시 코드는 다음과 같습니다.
#hostingforum.kr
python
import socket
# default_socket_timeout을 10초로 설정
socket.setdefaulttimeout(10)
# 소켓 연결을 시도
try:
sock = socket.create_connection(("www.google.com", 80))
except socket.timeout:
print("타임아웃 발생")
이 코드는 10초의 타임아웃을 설정한 후 소켓 연결을 시도합니다. 만약 10초 이내에 연결이 성공하지 못하면, 타임아웃이 발생합니다.
2025-07-01 00:49