我需要构建一个应用程序来通过 TCP/IP 套接字在我的 android 手机(客户端)和我的 PC(服务器)上的应用程序之间进行通信。当用户启动应用程序时,我希望它能够自动检测在同一 Wi-Fi 上运行的可用服务器。
我的问题是: - 我手机上的应用程序如何找到服务器,而无需输入服务器的 IP。
谢谢。
我需要构建一个应用程序来通过 TCP/IP 套接字在我的 android 手机(客户端)和我的 PC(服务器)上的应用程序之间进行通信。当用户启动应用程序时,我希望它能够自动检测在同一 Wi-Fi 上运行的可用服务器。
我的问题是: - 我手机上的应用程序如何找到服务器,而无需输入服务器的 IP。
谢谢。
没有看到他们的源代码就不可能确定,但我敢打赌,Windows 组件充当服务器,侦听请求并发送响应。我怀疑它是像 HTTP 服务器这样的服务器。它可能只是使用带有自定义协议的 TCP/IP 套接字。
它可能向 IP广播地址发送了一条 UDP 消息。PC 程序将监听该广播消息并以“我在这里,在此 IP 地址上”进行响应。通过使用广播地址,应用程序不必执行任何复杂的网络扫描。
请参阅此链接:广播地址 - 维基百科
Android 设备更有可能在应用启动时执行此操作。
同样,如果没有看到他们的源代码,你不能 100% 确定,但考虑到这些类型的程序是如何编写的,这些是最有可能的答案。