如何使用Socket类的动态端口?

时间:2012-08-17 12:51:16

标签: c# .net sockets networking ports

我只是在学习网络,我相信有一种叫做“动态端口”的东西。 我无法理解这一点,我将如何实现使用动态端口的服务器?设置套接字时,我必须绑定到特定端口,如:

using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
{
    IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234);
    socket.Bind(endPoint);
    socket.Listen(10);
    using (Socket handler = socket.Accept())
    {
        /* ... */
    }
}

我需要明确设置我想要收听的端口(1234)。 据我了解动态端口,客户端向随机端口发送请求,服务器以某种方式将应用程序获取请求并做出响应。

客户如何说

  

我希望我的请求能够响应我的“MyCustomService01”应用程序吗?

有人可以澄清并提供一些示例代码吗?

1 个答案:

答案 0 :(得分:1)

socket是你的倾听者,会发送到短暂的端口;如果仔细查看handler,特别是.LocalEndPoint.RemoteEndPoint,您会发现它已经配置为动态端口。基本上,你不应该在这里做任何特别的事情 - 只需通过handler进行沟通。