服务发现(Win Server,Android客户端)

时间:2017-03-02 09:44:09

标签: android .net windows service-discovery

我有一对很大程度上工作的服务器(Windows)和客户端(Android)应用程序需要在局域网上运行,他们几乎不知道什么,直到启动。关于我可以做的唯一假设是WIFI和DHCP分配的IP地址。

我需要一种机制让客户端找到服务器。我有一个完整的字母表选择汤,但我之前不必这样做,所以我问你,StackOverflow的优秀人才,建议。

NSD(网络服务发现)似乎是Android上的首选方法,但在Windows上似乎不存在。是否存在可互操作的Windows协议?

我的印象是,如果没有在我的服务器出现之前配置DNS,DNS-SD将无法正常工作。

因为我需要知道的是服务器的IP,所以只需创建我自己的多播组并让服务器宣布自己的方式非常诱人。有没有理由不采用这种方法?

2 个答案:

答案 0 :(得分:0)

太过分了。

客户端可以确定自己的ip。并且知道服务器的ip大致相同。只有最后一个字节组才会不同。

只需做一个循环并尝试连接一个带有IP地址的套接字'它自己的IP地址。

您将在几秒钟内获得服务器IP。首先设置一个小的套接字超时值。

答案 1 :(得分:0)

Android Service Discovery与Bonjour兼容。

使用Mono.Zeroconf进行Bonjour调用。目前,Mono.Zeroconf中的代码可以正常工作,但分布式二进制文件。我不得不重新编译它们但它有效。