Я знаю, что ошибка разбитого трубопровода бросается, когда сокет на стороне сверстника закрыт.
Но в своем тесте я заметил, что немедленный вызов "Отправить" на этой стороне, когда закрыта сторона-сверст, не всегда приводит к ошибке разбитого трубопровода.
например:.
После закрытия сокета на стороне эксперта (я попытался выполнить чистое закрытие, вызвав close, а также аномальное закрытие, убив одноранговую сеть), если я попытаюсь отправить 40 байт, то я не получаю сломанный канал, но, если Я пытаюсь отправить 40000 байт, тогда он сразу же сообщает об ошибке поврежденного канала.
Что именно вызывает поврежденную трубу и может ли она быть предсказана?