Если TCP-сервер и клиент подключены, я хотел бы определить, когда клиент больше не подключен. Я подумал, что могу просто сделать это, попытавшись отправить сообщение клиенту, и как только send() вернется с -1, я смогу разорвать сокет. Эта реализация работает в Windows, но в ту минуту, когда я пытаюсь сделать это в Linux с сокетами BSD, вызов send() в приложении на стороне сервера приводит к сбою моего серверного приложения, если клиент больше не подключен. Он даже не возвращает -1... просто завершает программу.
Пожалуйста, объясните, почему это происходит. Заранее спасибо!