向WiFi上的所有可用计算机广播消息

时间:2013-01-31 20:59:27

标签: java android python

如果这是一个微不足道的问题,我道歉。

我最近开始做一些Android编程,我正在编写一个简单的应用程序,允许您使用Android设备作为Windows PC的控制器。具体来说它允许用户做一些事情,比如关闭机器,让它睡觉,重新启动它等等。我目前正在使用一个名为CherryPy的python库作为Windows机器上的服务器来执行实际的win32api调用以执行所需的操作功能。我不确定的是如何(动态地)发现网络上的哪台机器实际托管服务器。如果我将我的机器公共IP硬编码到Android应用程序中,一切都工作正常,但显然这远远不够理想。我已经考虑让用户在应用程序中手动输入他们的机器公共IP,但是如果有一种方法,例如,向WiFi上的所有机器广播快速消息并检查我的Python服务器将发送的预先响应的响应出来,那太好了。这可能吗?

先谢谢你们。

2 个答案:

答案 0 :(得分:2)

尝试将UDP数据包发送到特殊广播地址 255.255.255.255。网络中的每个设备都应该收到该数据包的副本(禁止防火墙),您可以安排让服务器以其身份回复数据包。

答案 1 :(得分:1)

使用框架编写您的应用。 AllJoyn将为您处理这些细节。