`sock.recv()` возвращает пустую строку, когда соединение отсутствует на неблокирующем сокете

recv выдает исключение, если sockets произошла ошибка. Закрытие socket сокета одноранговым узлом socket не является ошибкой, но является sockets нормальным поведением. На pythonista самом деле это даже не полное pythonista закрытие: одноранговый узел sockets только указывает, что он pythonista больше не будет отправлять socket-programming данные, но он все еще может sockets получать данные. TCP-соединение python-interpreter закрывается только в том sockets случае, если обе стороны py указывают, что они больше socket не будут отправлять данные, т.е. каждая bsd-sockets сторона отправила FIN.

python

python-2.7

sockets

2022-06-18T03:41:41+00:00
Вопросы с похожей тематикой, как у вопроса:

`sock.recv()` возвращает пустую строку, когда соединение отсутствует на неблокирующем сокете