
socket_select 함수의 timeout 매개변수는 0보다 작거나 0일 때 즉시 반환됩니다.
0보다 작은 음수인 경우는 에러를 반환하지 않습니다.
timeout이 0일 때, select 함수는 기다리지 않고 바로 반환됩니다.
해결 방법은 다음과 같습니다.
#hostingforum.kr
python
import socket
import select
# 소켓 생성
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 소켓에 연결
sock.connect(('localhost', 8080))
# select 함수 사용
rlist, _, _ = select.select([sock], [], [], 0)
# timeout이 0일 때, select 함수는 기다리지 않고 바로 반환됩니다.
if rlist:
print("읽기 가능한 소켓이 있습니다.")
else:
print("읽기 가능한 소켓이 없습니다.")
위의 예제 코드에서 timeout 매개변수는 0으로 설정되어 있습니다. 이 경우 select 함수는 기다리지 않고 바로 반환됩니다.
2025-07-18 05:12