Find the next TCP port in .NET

前端 未结 8 797
别跟我提以往
别跟我提以往 2020-11-29 19:40

I want to create a new net.tcp://localhost:x/Service endpoint for a WCF service call, with a dynamically assigned new open TCP port.

I know that TcpClient will assig

8条回答
  •  萌比男神i
    2020-11-29 20:31

    I found the following code from Selenium.WebDriver DLL

    Namespace: OpenQA.Selenium.Internal

    Class: PortUtility

    public static int FindFreePort()
    {
        int port = 0;
        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        try
        {
            IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 0);
            socket.Bind(localEP);
            localEP = (IPEndPoint)socket.LocalEndPoint;
            port = localEP.Port;
        }
        finally
        {
            socket.Close();
        }
        return port;
    }
    

提交回复
热议问题