Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的设备如何找到服务器_Android_Sockets_Client Server_Network Scan - Fatal编程技术网

Android 我的设备如何找到服务器

Android 我的设备如何找到服务器,android,sockets,client-server,network-scan,Android,Sockets,Client Server,Network Scan,我需要构建一个应用程序,通过TCP/IP套接字在我的android手机(客户端)和PC(服务器)上的应用程序之间进行通信。当用户启动应用程序时,我希望它能够自动检测通过同一Wi-Fi运行的可用服务器 我的问题是: -我手机上的应用程序如何查找服务器而不必输入服务器的IP 谢谢。 我在电脑上安装的程序是服务器吗 如果看不到它们的源代码,就不可能确定,但我敢打赌Windows组件充当服务器,侦听请求并发送响应。我怀疑它是一个类似HTTP服务器的服务器;它可能只是使用带有自定义协议的TCP/IP套接

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

我的问题是: -我手机上的应用程序如何查找服务器而不必输入服务器的IP

谢谢。

  • 我在电脑上安装的程序是服务器吗
如果看不到它们的源代码,就不可能确定,但我敢打赌Windows组件充当服务器,侦听请求并发送响应。我怀疑它是一个类似HTTP服务器的服务器;它可能只是使用带有自定义协议的TCP/IP套接字

  • 我手机上的应用程序如何在我不必输入IP地址的情况下找到我的电脑
它可能向IP广播地址发送了UDP消息。PC程序将监听该广播消息,并以“我在这里,在这个IP地址上”回应。通过使用广播地址,应用程序不必做任何像网络扫描那样复杂的事情

请参阅此链接:

  • 服务器是否通过wifi网络广播其存在
更有可能的是,Android设备在应用程序启动时会这样做


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

非常感谢您的回答。我想是的,你不能100%确定,但据我所知,你做出了正确的假设。我的目标是将此重新创建为一种学习体验,因此我将在回家后尝试广播场景。请注意,您不必从头开始构建此场景-有一些现有的基于广播的服务发现设计,Android已经部分支持这些设计。您指的是这个Chris吗?这就是我目前发现的。