使用Android智能手机和其他设备进行服务发现

时间:2013-07-25 09:48:59

标签: android c++ service-discovery ssdp

在我的环境中,我有Android智能手机和其他一些设备。其他设备正在运行linux。所有设备都通过Wifi连接到本地网络。现在我希望智能手机识别并发现网络中的其他设备,因此我需要实现某种服务发现。其他设备上不应该有用户交互。之后,两个设备应该能够相互配对。

我已经读过Android支持Network Service Discovery (NSD)。这是一件好事,但这似乎只适用于Android设备,对吧?就我而言,其他设备是运行嵌入式Linux的自定义硬件。编程语言也不尽相同。其他决定的应用是使用C ++实现的。

我还读到了Simple Service Discovery Protocol (SSDP)。我想这应该以独立于平台的方式工作,对吧?您能否提供一个简单的解释如何使用SSDP实现这一点? 您会推荐SSDP来实施服务发现吗?是否有任何有用的android和c ++库?

或者您可以建议其他方法来实现我想要做的事情吗?

问候

1 个答案:

答案 0 :(得分:0)

我们在iOS和Mac设备之间使用以下方法做过类似的事情: http://www.multicastdns.org/

您也可以使用广播UDP实现自己的;但请注意,某些网络基础架构可能会阻止这些类型的数据包(公司网络)。