soquete sem bloqueio, o erro é sempre

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 o código acima está em um loop.usingnon-blocking socket(apenas deseja testar 'soquete sem bloqueio') para obter dados. Mas sempre imprime 'EWOULDBLOCK', não sei por quê?

questionAnswers(2)

yourAnswerToTheQuestion