2009-03-13 10 views
1

ソケットを閉じて、同じポートでソケットを開くことができますが、そのソケットにはハンドルがありません。特定のソケットを取得して閉じる方法

ローカルホストでリッスンしているソケットを取得するにはどうすればいいですか:873これを閉じるには?

答えて

2

カーネルドライバがなければ、これはできません。 Windowsでは、別のプロセスでソケットハンドルを取得し、それを積極的に閉じることは法的ではありません。

+1

次に、sysinternalsのTCPViewでどうすればいいですか? 参考:https://technet.microsoft.com/en-us/sysinternals/tcpview.aspx –

0

SO_REUSEADDRを調査することができます。

+0

これにより、複数のユーザーがバインドできますが、もう一方のハンドルを閉じることはできません。 – JaredPar

1

ソケットを所有しているプロセスだけがプロセスを閉じることができるので、ソケットを所有しているプロセスを終了することができます。

-oオプションを使用して特定のソケットを使用するプロセスのプロセスIDはnetstatです。例:

netstat -noa | findstr LISTENING 

私はあなたがこれをプログラム的に.NETでやっているのかどうかわかりません。

+0

アプリケーションはソケットを所有していましたが、スコープを超えました。 – Malfist

+0

これは終了するように指示されていて、範囲外になりますが、nestatはまだそれをリッスンとしてリストしています – Malfist

関連する問題