2013-08-26 119 views
0

我希望我的应用程序能够通过同一个WiFi网络连接到其他设备并传输一些数据,即phone Aphone B安装了我的应用程序并且位于相同网络。我可以连接两个设备,一个充当服务器,另一个充当客户端,但是这是对服务器设备的静态引用。在开放的世界里,这个IP当然会改变,所以我的问题是如何让phone A作为服务器设备启动,然后phone B看到网络上的服务器设备并连接到它。因此,服务器设备将接受此客户端连接,并在连接完成时执行所需的操作。这甚至有可能吗?通过WiFi连接两个或更多设备通过我的应用程序

回答

0

我相信你会有一个设备监听端口号x,客户端版本(设备B)寻找相同的端口号x。这可能是错误的。

+0

我在想如果有可能抢到我打算使用的端口的东西。但我不知道如何做到这一点,如果这种方式是可行的,并感谢您的答复。 – kabuto178

0

这是DNS的工作。如果您没有可用的DNS服务器,则可以创建一个发现协议,在该协议中,计算机A会周期性地多播它正在侦听的IP端口。机器B加入组播组。一旦机器B知道A的地址和端口,它就可以使用你已有的代码打开一个套接字。

+0

你有没有创建这样的广播的样本? – kabuto178

+0

我没有现成的例子,但这是DDS(数据分发系统),CORBA等系统使用的一般方法。事实上DDS可能适合您的需求,尽管与您所做的相比它有点重量级现在。 –