我需要通过电缆连接两台机器,并在连接后对它们进行一些工作。是否有任何.Net类可以让我检测通过电缆连接的两台机器(当我说电缆时我不是指同一网络上的计算机而是物理连接的机器)?
我确实遇到过stackoverflow上的一些链接,但似乎没有人回答过。 因此欢迎任何链接到以前相关的帖子。
答案 0 :(得分:1)
没有一个.NET类会给你这个但是你可能会使用一些技术来获得不同程度的成功:
如果您可以在进程中访问这两台计算机,请在每台设备上设置预定义的静态IP地址,然后如果确保两台设备上只有以太网端口处于活动状态,则只需等待可以ping您预定义的静态IP地址,并且您知道他们已经连接。
像https://stackoverflow.com/a/12659133/1742551这样的东西,在一台机器上运行数据包嗅探代码,以检测电缆另一端的活动何时发生......不知道你怎么知道IP是什么但其他机器的地址是,我想你需要这样才能完成你描述的工作。
您可以使用TcpListener类侦听特定端口号上的连接,然后从另一台计算机上扫描正在侦听此端口的设备在同一子网上的所有其他可用IP(假设您可以确保两台计算机位于同一子网上)。假设此连接是唯一可用的连接,并且两个设备都没有设置静态IP地址,Windows将由于缺少DHCP服务器而自动配置IP地址,然后它们将被分配169.254.xy ip地址作为255.255.0.0子网,所以这应该工作。
可能还有其他一些我尚未想到的选择,但你明白了......