我的设备如何找到服务器

How does my device find the server

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

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

谢谢。

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

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

  • 我 phone 上的应用程序如何在我不输入 IP 地址的情况下找到我的电脑?

它可能向 IP 广播地址 发送了一条 UDP 消息。 PC 程序将监听该广播消息并以 "here i am, on this IP address" 响应。通过使用广播地址,应用程序不必执行任何像网络扫描一样复杂的操作。

看到这个link:Broadcast Address - Wikipedia

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

更有可能是 Android 设备在应用程序启动时执行此操作。

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