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
todo el código anterior es en un loop.using non-blocking socket
(sólo quieren probar 'no bloqueante socket') para obtener los datos. Pero siempre imprime 'EWOULDBLOCK', no sé por qué?no bloqueando toma, el error es siempre
Agregue todos los códigos incluyendo la configuración del socket y la versión de Python y el sistema operativo en el que se está ejecutando. – StefanE
Para referencia: 'os.strerror (e.args [0])' le imprimirá la cadena de error. – Alex