如何扫描等待网络连接的端口

Éri*_*ins 7 c# networking

我目前正在使用C#中的一个小聊天工具.
问题是我无法弄清楚如何扫描网络以查找所有计算机上的特定端口.我目前正在使用这种方法

    IPGlobalProperties network = IPGlobalProperties.GetIPGlobalProperties();
    IEnumerable<IPEndPoint> connections = network.GetActiveTcpListeners()
                                                        .Where(x => x.Port == ConstParams.iPort);
Run Code Online (Sandbox Code Playgroud)

ConstParams.iPort我要扫描的端口在哪里(这里是6910).

问题是返回的值只是本地端口和"0.0.0.0"ip地址...

如何扫描当前网络上的所有开放端口(6910)?

Hak*_*rce 9

我建议您实现一种基于多播/广播通信的简单发现机制,而不是使用端口扫描.

在启动期间,应用程序应广播/多播其IP /端口信息.所有正在运行的实例都应使用其IP /端口信息响应此消息.这种发现机制易于实现,并且在运行时更快,并且比端口扫描方法更动态.