我的设备如何找到服务器



我需要构建一个应用程序,通过TCP/IP套接字在我的android手机(客户端)和我的PC(服务器)上的应用程序之间进行通信。当用户启动应用程序时,我希望它能自动检测到运行在同一Wi-Fi上的可用服务器。

我的问题是:-我手机上的应用程序如何在不需要输入服务器IP的情况下找到服务器。

谢谢。

  • 我在电脑上安装的程序是服务器吗

如果没有看到它们的源代码,就不可能确定,但我敢打赌,Windows组件就像一台服务器,监听请求并发送响应。我怀疑它是一个像HTTP服务器一样的服务器;它可能只是使用带有自定义协议的TCP/IP套接字。

  • 我手机上的应用程序是如何在不需要输入IP地址的情况下找到我的电脑的

它可能向IP广播地址发送了UDP消息。PC程序将监听该广播消息,并以"我在这里,在这个IP地址上"作为响应。通过使用广播地址,该应用程序不必做任何像网络扫描这样复杂的事情。

查看此链接:广播地址-维基百科

  • 服务器是否通过wifi网络广播其存在

安卓设备更有可能在应用程序启动时做到这一点。

同样,如果没有看到它们的源代码,你不可能100%确定,但考虑到这些类型的程序是如何编写的,这些是最有可能的答案。

最新更新