Я предполагаю, что сокет может быть закрыт партнером.
Это очень зависит от того, где вы хотите обнаружить разъединение.
Если вы находитесь в режиме блокировки recv
: manpage
Эти вызовы возвращают количество полученных байтов или -1, если произошла ошибка. В случае ошибки errno устанавливается для обозначения ошибки.
Когда одноранговый узел потокового сокета выполнил упорядоченное завершение работы, возвращаемое значение будет 0 (традиционное "end- of-file "return).
Если вы хотите знать на send
: manpage
В случае успеха эти вызовы возвращают номер отправленных байтов. В случае ошибки возвращается -1, а значение errno устанавливается соответствующим образом.