【发布时间】:2012-10-28 01:50:06
【问题描述】:
我需要通过 TCP 监听大约 100 个不同的端口。查看 C# 中的 TcpListener 类,它显然只监听一个端口。创建 100 个不同的 TcpListener 实例是否有意义,每个实例都有自己的端口。
我不认为它是一个干净的解决方案,但它似乎是唯一的选择。
【问题讨论】:
-
一个奇怪的要求,但为什么不呢。只要确保它不是XY problem
-
基本上,我有不同的 sim 卡发送数据,它们都具有相同的 IP,因此我无法在具有不同 IP 的一个端口上侦听(像往常一样)。相反,我在发送数据的应用程序上设置不同的端口,这样我就可以知道它是哪一个。
-
您是否无法让您的设备将某种 ID 作为其消息的一部分发送给您?即通过消息识别并全部转到一个端口?当我的大量设备隐藏在 NAT 后面时,我就是这样做的。
-
他们第一次发送它只是为了做一个 ACK。然后由您决定是否继续链接。如果 IP 不相同,我可以将 IP 与这个唯一 ID 关联起来。这就是为什么我会考虑使用不同的端口。
-
您能否再澄清一些 - 确保这不是 XY 问题?您是为设备编写软件还是只有有限的配置选项?
标签: c# networking tcp ports