0

C++ で各接続がどのポートを使用しているかを判断するために Windows を照会するにはどうすればよいですか?

4

3 に答える 3

3

TCP テーブルを取得しようとしましたか?

ウィンドウに、ローカル アドレス、ローカル ポート、リモート アドレス、リモート ポート、およびその接続を持つプログラムのプロセス ID を示すすべての TCP 接続のテーブルを要求できます。

テーブルの取得: http://msdn.microsoft.com/en-us/library/windows/desktop/bb408406(v=vs.85).aspx

テーブル エントリ: http://msdn.microsoft.com/en-us/library/windows/desktop/bb485761(v=vs.85).aspx

最初のリンクに良い例があるので、例を作成しようとはしません。両方のタイプの接続が必要な場合は、UDP に相当するものもあります。

于 2013-01-08T21:19:41.017 に答える
2

getsockname() APIを使用して、sockaddr_in 構造体の sin_port フィールドをチェックすることにより、ソケットがバインドされているポートを照会できます。

于 2013-01-08T22:19:34.073 に答える
1

コマンドnetstat -b -aは Windows で使用できます。必要に応じて、これを呼び出しとしてSHELL呼び出すことができます。

于 2013-01-08T20:39:47.293 に答える