想法: 1. ping 我所有的子网(使用简单的 ping 等) 2. 向我子网中的所有 IP 发送 GET? (可能太慢)等待 200 或 404 回复。 谢谢
最佳答案
您能否对您的以太网设备进行编程以响应 Bonjour (mDNS) 请求?这是 OSX/iOS 生态系统中首选的发现机制。 avahi 是一个开放源代码的 mDNS 守护程序,如果您的设备运行类 UNIX 的操作系统,您或许可以运行它。如果您没有运行这样的操作系统,您也许还能够找到或编写一个可嵌入的 mDNS 服务器,您可以将其集成到您的服务器中。
否则,我可能会使用设备将响应的自定义广播 UDP 数据包。 (这基本上是 Bonjour/mDNS 所做的,但不太一般)要发送广播 UDP 数据包,打开 UDP(数据报)套接字并将数据包发送到本地子网的广播 IP。使数据包内容适当独特,并让您的设备做出响应,例如使用 HMAC,以避免拾取恰好在同一端口上应答的任何其他设备或守护进程。
关于ios - 最好的查找方法是我的自定义以太网设备在线以及它为 iOS 获得的 IP 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9486940/