opentelemetry-dotnet-instru.../test/test-applications/integrations/TestApplication.Http.NetFra.../Helpers/TcpPortProvider.cs

30 lines
606 B
C#

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
using System.Net;
using System.Net.Sockets;
namespace TestApplication.Http.NetFramework.Helpers;
internal static class TcpPortProvider
{
public static int GetOpenPort()
{
TcpListener? tcpListener = null;
try
{
tcpListener = new TcpListener(IPAddress.Loopback, 0);
tcpListener.Start();
var port = ((IPEndPoint)tcpListener.LocalEndpoint).Port;
return port;
}
finally
{
tcpListener?.Stop();
}
}
}