.Net 类 检测通过电缆连接的机器
.Net classes to detect machines connected via cable
我需要通过电缆连接两台机器,并在连接后对它们进行一些处理。是否有任何 .Net 类 可以让我检测通过电缆连接的两台机器(当我说电缆时,我指的不是同一网络上的计算机,而是物理连接的机器)?
我确实在 Whosebug 上看到了一些链接,但 none 似乎已经得到解答。
因此,欢迎任何指向以前相关帖子的链接。
没有 .NET class 可以为您提供此功能,但您可能可以使用一些技术,取得不同程度的成功:
如果您在过程中可以访问两台机器,请在每台设备上设置一个预定义的静态 IP 地址,然后如果您确保两台设备上只有以太网端口处于活动状态等到您可以 ping 通您预定义的静态 IP 地址,您就知道它们已连接。
诸如 、运行 之类的东西在一台机器上进行数据包嗅探代码,以检测 activity 何时发生在电缆的另一端......不是确定你如何知道另一台机器的 IP 地址是什么,我想你需要这个才能完成你描述的工作。
您可以使用 TcpListener class 来侦听特定端口号上的连接,然后从另一台机器扫描与其自身位于同一子网上的所有其他可用 IP 以查找设备正在侦听此端口(假设您可以确保两台机器在同一子网上)。假设此连接是唯一可用的连接,并且两个设备都没有设置静态 IP 地址,Windows 将由于缺少 DHCP 服务器而自动配置 IP 地址,然后它们都将分配给 169。254.x.y IP 地址作为 255.255.0.0 子网的一部分,因此这应该有效。
可能还有一些我还没有想到的其他选择,但你明白了...
我需要通过电缆连接两台机器,并在连接后对它们进行一些处理。是否有任何 .Net 类 可以让我检测通过电缆连接的两台机器(当我说电缆时,我指的不是同一网络上的计算机,而是物理连接的机器)?
我确实在 Whosebug 上看到了一些链接,但 none 似乎已经得到解答。 因此,欢迎任何指向以前相关帖子的链接。
没有 .NET class 可以为您提供此功能,但您可能可以使用一些技术,取得不同程度的成功:
如果您在过程中可以访问两台机器,请在每台设备上设置一个预定义的静态 IP 地址,然后如果您确保两台设备上只有以太网端口处于活动状态等到您可以 ping 通您预定义的静态 IP 地址,您就知道它们已连接。
诸如 、运行 之类的东西在一台机器上进行数据包嗅探代码,以检测 activity 何时发生在电缆的另一端......不是确定你如何知道另一台机器的 IP 地址是什么,我想你需要这个才能完成你描述的工作。
您可以使用 TcpListener class 来侦听特定端口号上的连接,然后从另一台机器扫描与其自身位于同一子网上的所有其他可用 IP 以查找设备正在侦听此端口(假设您可以确保两台机器在同一子网上)。假设此连接是唯一可用的连接,并且两个设备都没有设置静态 IP 地址,Windows 将由于缺少 DHCP 服务器而自动配置 IP 地址,然后它们都将分配给 169。254.x.y IP 地址作为 255.255.0.0 子网的一部分,因此这应该有效。
可能还有一些我还没有想到的其他选择,但你明白了...