Неважно, с какой стороны начинается закрытие.Если закрытие происходит чисто, то следующая операция чтения другой стороны будет читать 0 байтов.Если закрытие не происходит чисто, то следующая операция чтения другой стороны вызовет исключение.
В целом, всегда полезно ожидать исключений от любых методов сокетов (кроме Close
, который выигралне поднимать исключения за исключением фатальных исключений ).Всякий раз, когда вы видите исключение, просто позвоните Close
.
PS Connected
- бесполезно, и Shutdown
ничего в этом случае не принесетПросто позвоните Close
.