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
tutto il codice di cui sopra è in un loop.using non-blocking socket
(vogliono solo per testare 'non-blocking presa') per ottenere i dati. Ma stampa sempre 'EWOULDBLOCK', non so perché?non bloccante presa, l'errore è sempre
Aggiungi tutto il codice compreso l'impostazione del socket e quale versione di Python e sistema operativo in esecuzione. – StefanE
Per riferimento: 'os.strerror (e.args [0])' stamperà la stringa di errore. – Alex