使设备在网络中相互查找的最简单方法(查找其IP)C#?

使设备在网络中相互查找的最简单方法(查找其IP)C#?,c#,xamarin,broadcast,C#,Xamarin,Broadcast,我需要一个设备来发送广播并接收将等待响应的另一个设备的IP 我把这段代码通读了一遍 System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping(); System.Net.NetworkInformation.PingReply rep = p.Send("192.168.1.1"); if (rep.Status == System.Net.NetworkInformation.IPStatus.S

我需要一个设备来发送广播并接收将等待响应的另一个设备的IP

我把这段代码通读了一遍

System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping();
System.Net.NetworkInformation.PingReply rep = p.Send("192.168.1.1");
if (rep.Status == System.Net.NetworkInformation.IPStatus.Success)
{
    //host is active
}
但它速度很慢,会返回网络中的任何设备,而不是我想要的设备


我是否应该创建一个UDP服务器,等待广播信号,然后将其IP发送到发送广播的客户端?

只需ping一下IP,就很难确认它是您的设备


如果您通过TCP或UDP连接对自定义消息执行额外的验证/握手,这将帮助您确认它是您的设备,并让您有机会传递有关网络上找到的客户端设备的其他配置信息。

如果您使用的是Xamarin.iOS,并且如果您正在使用,则最好的解决方案是使用Xamarin.Android您可以使用或Android

而不是发送特定的Ping消息,只需发送UDP自定义“Ping”并用自定义“Ping回复”进行响应。我在问题“”中详细回答了完全相同的问题。我将有两台设备运行同一个应用程序,此应用程序将有两个BTN,其中一台将“开始接收”那个会“发出信号”的,我知道谁在接收。无需数据传输,我只需ping并获取在某个端口(如3000)上运行的用户。我能用上面的例子做到这一点吗?我对这种联系有点陌生,所以帮帮我:c