Когда вы читаете закрытый TCP-сокет, вы получаете регулярную ошибку, то есть он либо возвращает 0, указывающий EOF или -1, и код ошибки в errno
, который можно распечатать с помощью perror
.
Однако, когда вы пишете закрытый TCP-сокет, OS отправляет SIGPIPE
в ваше приложение, которое прекратит приложение, если оно не будет обнаружено.
Почему запись закрытого сокета TCP хуже, чем чтение?