1

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

我的问题是: - 我手机上的应用程序如何找到服务器,而无需输入服务器的 IP。

谢谢。

4

1 回答 1

0
  • 我在 PC 上安装的程序是服务器吗?

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

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

它可能向 IP广播地址发送了一条 UDP 消息。PC 程序将监听该广播消息并以“我在这里,在此 IP 地址上”进行响应。通过使用广播地址,应用程序不必执行任何复杂的网络扫描。

请参阅此链接:广播地址 - 维基百科

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

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

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

于 2015-03-30T02:40:48.957 回答