为应用程序设置一系列可用的本地端口

发布于 2024-12-05 17:45:55 字数 88 浏览 1 评论 0原文

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

I have a client application that create a socket with random local port, i cant change the code of this application and i want to set a range of the ports he can use from my C# application. Is it possible? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谜泪 2024-12-12 17:45:55

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

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

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

了解这是针对 TCP 的。 UDP(另一种常见协议)是无状态的,这意味着客户端和服务器之间永远不会创建连接;客户端只需向该服务器和端口喊出一些内容,并祈祷服务器正在监听、接收并理解该消息。

So the client will try to connect to your application using any one of a range of port numbers. You can't know which socket they will use, but you CAN know they will use one of this range.

If that is the case, you can do one of two things:

  1. If the computer on which your app runs only ever has to interact with this one client, then simply set up one TcpListener (or other socket listener) to listen on your address on all ports. This is risky; if some other computer tries to ask for a web page, or tries to set the network time on this comp, your app may incorrectly intercept these connections.
  2. If you really do need a range of available ports on which the client can connect, then I would use a for loop to set up a collection of TcpListeners, one for each port on which you wish to connect.

Understand this is for TCP. UDP (another common protocol) is stateless, meaning connections are never created between client and server; the client simply shouts something to that server and port and prays the server is listening, receives and understands the message.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文