在我的环境中,我有Android智能手机和其他一些设备。其他设备正在运行linux。所有设备都通过Wifi连接到本地网络。现在我希望智能手机识别并发现网络中的其他设备,因此我需要实现某种服务发现。其他设备上不应该有用户交互。之后,两个设备应该能够相互配对。
我已经读过Android支持Network Service Discovery (NSD)。这是一件好事,但这似乎只适用于Android设备,对吧?就我而言,其他设备是运行嵌入式Linux的自定义硬件。编程语言也不尽相同。其他决定的应用是使用C ++实现的。
我还读到了Simple Service Discovery Protocol (SSDP)。我想这应该以独立于平台的方式工作,对吧?您能否提供一个简单的解释如何使用SSDP实现这一点? 您会推荐SSDP来实施服务发现吗?是否有任何有用的android和c ++库?
或者您可以建议其他方法来实现我想要做的事情吗?
问候
答案 0 :(得分:0)
我们在iOS和Mac设备之间使用以下方法做过类似的事情: http://www.multicastdns.org/
您也可以使用广播UDP实现自己的;但请注意,某些网络基础架构可能会阻止这些类型的数据包(公司网络)。