在Android中在本地网络上查找服务器的最快方法是什么?

时间:2014-01-06 09:35:51

标签: c# android networking

我有一个在本地网络计算机上运行的.Net服务。在我的Android手机上,我必须尽快发现服务器 并从中获取数据。

到目前为止,我已考虑过这些选项:

  • 扫描每个地址并检查它们是否响应 - 大约需要30秒 - 不可行
  • 使用广播地址发送ping - 默认Windows设置禁用ICMP ping,因此它不可靠 - 不可用
  • 使用UPnp - Android发现客户端可用,.Net设备主机不可用,COM和ATL实现起来太难了(没有文档,只有接口指南 - 并且它很少被路由器和NAS使用) - NOT VIABLE < / LI>

我还应该尝试什么?

1 个答案:

答案 0 :(得分:0)

这是我最终如何做到的:

  • .Net服务在单独的线程上运行UDP侦听器
  • Android客户端发送UDP广播信号并等待响应
  • 如果响应包含特定消息,则表示正确的服务器

使用这种方法,它可以非常快速地工作,需要1-2秒才能发现服务器。