Только тот процесс, которому принадлежит сокет, может закрыть его, поэтому все, что вы можете попробовать, это завершить процесс, которому принадлежит сокет.
В командной строке вы можете найти идентификатор процесса, используя определенный сокет, используя опцию -o
для netstat
. Например:
netstat -noa | findstr LISTENING
Я не знаю, как вы делаете это программно в .NET, хотя.