Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 确定通过交换机连接到PC的设备的MAC地址或IP_C#_Ip Address_Ping_Mac Address_Arp - Fatal编程技术网

C# 确定通过交换机连接到PC的设备的MAC地址或IP

C# 确定通过交换机连接到PC的设备的MAC地址或IP,c#,ip-address,ping,mac-address,arp,C#,Ip Address,Ping,Mac Address,Arp,我的问题有很多类似的问题,但没有一个能准确回答我的需要,因此我在这里给出了详细的场景和架构/布局: ___________ | | | PC | | | |___________| | _____|_____ | switch | |___________| | | | ____|

我的问题有很多类似的问题,但没有一个能准确回答我的需要,因此我在这里给出了详细的场景和架构/布局:

       ___________
      |           |
      |    PC     |
      |           |
      |___________|
            |
       _____|_____
      |  switch   |
      |___________|
        |    |   |
    ____|    |   |_____> Hanging Cable
   |         |                               
   |         |
 Device1   Device2
Device1、Device2是通过交换机连接到PC的生物识别设备。 每个设备都有其MAC地址和专用IP地址

现在的问题是:

如图所示,在C.NET中,当连接到悬挂电缆时,是否有任何方法可以确定设备3的MAC地址或IP地址

Ping方法需要一点时间来确定给定的IP是否已连接

我想在连接设备时立即确定设备的MAC或IP,因为我必须与设备同步一些数据,为此我编写了一个线程,该线程具有循环检测设备,一旦找到设备,它就会执行同步。 如果我使用Ping来确定连接,那么线程将花费更多的时间,延迟将传播到循环中的其他设备


PC上的应用程序具有所有设备的MAC地址以及专用IP地址列表。PC唯一不知道的是设备何时连接以便同步数据。

为什么设备不在同步协议中指定其MAC地址或其他设备标识符?好的,没有事件驱动的通知,可以让网络上的Windows PC了解正在添加到网络中的新设备。当您单击网络图标时,您的电脑总是需要几秒钟的时间来枚举网络上的其他设备,因为它不会主动维护列表。但是,如果您在基于域的网络上,那么您可以随时快速查询Active Directory以获取完整列表。即时很难,您现在看到的延迟有多大/您能容忍吗?但是PC上的程序不知道该设备,出于同样的目的,我想知道用于同步的MAC或IP,这不回答你的问题吗?