设置可用的本地端口范围

本文关键字:范围 设置 | 更新日期: 2023-09-27 18:09:05

我有一个客户端应用程序,创建一个套接字与随机本地端口,我不能改变这个应用程序的代码,我想设置端口的范围,他可以从我的c#应用程序中使用。这可能吗?谢谢!

设置可用的本地端口范围

因此客户端将尝试使用一系列端口号中的任何一个连接到您的应用程序。你无法知道它们将使用哪个套接字,但你可以知道它们将使用这个范围中的一个。

如果是这种情况,您可以执行以下两种操作之一:

  1. 如果你的应用程序运行的计算机只需要与这个客户端交互,那么简单地设置一个TcpListener(或其他套接字侦听器)来侦听所有端口上的地址。这是有风险的;如果其他计算机试图请求访问网页,或者试图在此计算机上设置网络时间,您的应用程序可能会错误地拦截这些连接。
  2. 如果您确实需要客户端可以连接的可用端口范围,那么我会使用for循环来设置tcplistener集合,每个端口对应一个您希望连接的端口。

理解这是TCP。UDP(另一种常见协议)是无状态的,这意味着客户端和服务器之间永远不会创建连接;客户端简单地向服务器和端口发送消息,并祈祷服务器正在侦听、接收和理解该消息。