1. ホーム
  2. c#

.NETで次のTCPポートを検索する

2023-09-18 17:26:13

質問

私は、WCF サービス呼び出し用の新しい net.tcp://localhost:x/Service エンドポイントを、動的に割り当てられた新しいオープン TCP ポートで作成したいのです。

与えられたサーバーへの接続を開くときに、TcpClient が新しいクライアント側ポートを割り当てることは知っています。

.NETで次に開くTCPポートを見つける簡単な方法はありますか?

上記の文字列を構築できるように、実際の番号が必要です。その文字列を別のプロセスに渡す必要があり、その新しいチャネルにコールバックできるため、0 は機能しません。

どのように解決するのですか?

私が探していたものはこちらです。

static int FreeTcpPort()
{
  TcpListener l = new TcpListener(IPAddress.Loopback, 0);
  l.Start();
  int port = ((IPEndPoint)l.LocalEndpoint).Port;
  l.Stop();
  return port;
}