Как закрыть Socket правильно?
От: SanyaVB  
Дата: 03.02.21 07:15
Оценка:
Привет всем!

Использую класс System.Net.Sockets.TcpClient.

Закрываю соединение как-то так:

    var socket = client.Client;
    try { socket.Shutdown(SocketShutdown.Both); }
    finally { socket.Close(); }
    client.Close();
    socket.Dispose();
    client.Dispose();
    client = null;


В результате соединение рвется, во всяком случае сервер фиксирует отключение (сервер и клиент находятся на одном ПК), но есть НО.

Пишу команду netstat и вижу, что соединение существует, но только в статусе TIME_WAIT
С одной стороны: НУ И ПУСТЬ! СО ВРЕМЕНЕМ ЗАКРОЕТСЯ! а с другой стороны, порт то занят + осадок на душе остаётся)))
Подскажите, кто с такой проблемой сталкивался, как решали?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.