サーバーとの通信にアンマネージ dll を使用するクライアント アプリケーションがあります。
すべてのネットワーク関連の操作は、管理されていない dll 内で実行されます。サーバーで多くの操作を行った後、クライアントの TCP ポートが不足しています。「netstat -an」を使用してネットワークの状態を確認すると、次の結果が得られます。
...
TCP 192.168.11.55:56048 192.168.10.28:5000 FIN_WAIT_2
TCP 192.168.11.55:56049 192.168.10.28:5000 FIN_WAIT_2
TCP 192.168.11.55:56050 192.168.10.28:5000 FIN_WAIT_2
TCP 192.168.11.55:56051 192.168.10.27:5000 FIN_WAIT_2
TCP 192.168.11.55:56052 192.168.10.28:5000 FIN_WAIT_2
TCP 192.168.11.55:56053 192.168.10.27:5000 FIN_WAIT_2
TCP 192.168.11.55:56054 192.168.10.27:5000 FIN_WAIT_2
TCP 192.168.11.55:56055 192.168.10.27:5000 FIN_WAIT_2
TCP 192.168.11.55:56056 192.168.10.27:5000 FIN_WAIT_2
TCP 192.168.11.55:56057 192.168.10.28:5000 FIN_WAIT_2
TCP 192.168.11.55:56058 192.168.10.27:5000 FIN_WAIT_2
TCP 192.168.11.55:56059 192.168.10.28:5000 FIN_WAIT_2
TCP 192.168.11.55:56060 192.168.10.27:5000 FIN_WAIT_2
...
ポートは、クライアントが閉じられた後にのみ解放されます。
VS プロジェクトをデバッグ モードで実行すると、ポートが不足することはありません。しかし、Release モードで実行している間、それは起こっています。
また、サーバーにもクライアント ソースにもアクセスできません。
FIN_WAIT_2 状態のポートを解放または強制終了するにはどうすればよいですか?