Это печать «Получено»:
connection, clientAddr = mysocket.accept()
data = connection.recv(256)
print("Received")
Это печать «Тайм-аут»:
connection, clientAddr = mysocket.accept()
mysocket.setblocking(0)
readable, writeable, exceptional = select.select([mysocket], [], [], 5)
if mysocket in readable:
data = connection.recv(256)
print("Received")
else:
print("Timed out")
Проблема не в том, что 5 секунд слишком короткие, данные поступают в первый кодовый блок в течение 5 секунд. Я попытался удалить строку, mysocket.setblocking(0)
, без изменений. Я попытался изменить if mysocket in readable:
на if readable:
, а также сделал print(readable)
, все еще истекло время ожидания, и на печать выводится "[]".
Редактировать: Я также попытался использовать mysocket.recv(256)
в * Блок 1015 *, он получил данные.
Я запускаю это на Linux.