Re[3]: Socket успешно прочитал 0 байт :( проблемы
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.05.20 10:21
Оценка: 3 (1)
Здравствуйте, vvv848165@ya.ru, Вы писали:

vsb>> это означает, что соединение закрыто


VYR>Вот то-то и оно что для этого есть специальные коды ошибок и исключения, а не успешный 0 !


Таки непонятен ваш плач. Я правильно понял, что речь, что на той стороне программа не сама решила завершить передачу по соединению в соответствии со своей штатной логикой, а её вместо этого пришлёпнули, и вам хотелось бы видеть в этом случае другой код, чем 0?

Если да — я согласен, что тут есть проблема. Она есть и в варианте локального пайпа (шелл собрал цепочку типа xx | yy, xx отстрелили — yy получит только EOF), и в сетевом. Увы. Но так как сетевое соединение двустороннее, можно спросить состояние — а можно добавить явную метку конца в протокол. Или как на HTTP сделано: посылайте Content-Length или используйте chunked TE, тогда метка завершения всегда будет явной.
Я бы при проектировании этого интерфейса подумал про такие индикации. Но раз за ~30 лет их активного использования не исправляли — проблема считается не настолько серьёзной.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.