Java - 检测 ping

Java - Detect a ping

是否可以检测到 ping? IE。设备 1 ping 设备 2,我想要可以在设备 2 上 运行 的代码,当它被设备 1 ping 时检测到。

您可以在设备 2 上的某个特定端口上打开 TCP 或 UDP 套接字,然后尝试从设备 1 连接到同一端口。

https://docs.oracle.com/javase/tutorial/networking/sockets/readingWriting.html

您可以通过阅读有关 TCP 和 UDP 的内容来决定要使用什么。 https://en.wikipedia.org/wiki/Transmission_Control_Protocol https://en.wikipedia.org/wiki/User_Datagram_Protocol

ping 实用程序 ("ICMP Echo Request") 使用的 文字 消息可能很难检测到,因为它是按惯例处理的,并且 "eaten," 通过网络协议栈。

但是如果您只是想让一台计算机或进程 "broadcast" 它存在的事实 (即 您不需要收到 "reply,"并且您并不严格关心消息是否实际到达特定位置),"UDP" 网络协议可能正是您要查找的内容。 Internet 上的编程示例比比皆是。 (并且,就在这里,等待您的"search.")

("UDP" 是一个 数据报 协议,可以说是 "tosses a paper airplane out the window",而 "TCP/IP" 与双向 建立、使用、然后拆除的连接。)