sock.setblocking(0)
try:
data = sock.recv(1024)
except socket.error, e:
if e.args[0] == errno.EWOULDBLOCK:
print 'EWOULDBLOCK'
else:
if not data: #recv over
sock.close()
print 'close================='
else:
print 'recv ---data---------'
poem += data
위의 코드는 모두 루프에 있습니다. 데이터를 얻으려면 non-blocking socket
(단지 '비 차단 소켓'을 테스트하고 싶음)을 사용하십시오. 하지만 항상 'EWOULDBLOCK'을 인쇄하십시오. 왜 그런지 모르십니까?비 차단 소켓입니다. 오류는 항상
소켓 설정, 실행중인 Python 버전 및 OS 등 모든 코드를 추가하십시오. – StefanE
참조 :'os.strerror (e.args [0])'는 에러 문자열을 출력합니다. – Alex