Я хочу проверить, жив ли сокет, прежде чем пытаться читать с него, но похоже, что recv () и read () вернут 0 независимо.Согласно справочной странице:
Когда узел сокета потока выполнил упорядоченное завершение, возвращаемое значение будет 0 (традиционный возврат в конце файла).
Но также:
Значение 0 также может быть возвращено, если запрошенное число байтов для получения из сокета потока было 0.
Как мнеразличать эти два случая?И если это невозможно, есть ли другой способ узнать, был ли сокет выключен / закрыт?