将一系列免费本地端口设置为应用程序

时间:2011-09-19 14:47:02

标签: c# tcp process range port

我有一个客户端应用程序创建一个带有随机本地端口的套接字,我无法更改此应用程序的代码,我想设置一个他可以在我的C#应用​​程序中使用的端口范围。可能吗?谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

  1. 如果运行应用程序的计算机只需与此客户端进行交互,则只需设置一个TcpListener(或其他套接字侦听程序)即可侦听所有端口上的地址。这是有风险的;如果其他计算机试图要求提供网页,或者尝试在此网页上设置网络时间,则您的应用可能会错误地拦截这些连接。
  2. 如果您确实需要客户端可以连接的一系列可用端口,那么我将使用for循环来设置TcpListeners的集合,每个端口对应一个您希望连接的端口。
  3. 了解这是针对TCP的。 UDP(另一种常见协议)是无状态的,这意味着永远不会在客户端和服务器之间创建连接;客户端只是向该服务器和端口喊叫,并祈祷服务器正在监听,接收和理解消息。