我的应用使用AsyncSocket作为客户端与外部服务器通信。 (可以找到工作代码here) 当应用程序启动时,用户键入服务器计算机的IP地址。
假设iOS和服务器位于同一子网
问题:有办法扫描"扫描"服务器的网络,从而避免用户手动输入服务器IP?
我可以在循环中逐个迭代IP(10.0.1.x 10.0.1.x ++) 但它似乎是错误和浪费。
还有另一种更优雅的方式吗?
答案 0 :(得分:0)
我有一个iOS项目在当前(Wi-Fi)网络中进行服务器发现。典型的解决方案是使用UDP广播来请求服务器信息,然后收听UDP响应。只要获得服务器地址的响应,就可以使用TCP套接字建立连接。
CocoaAsyncSocket对此非常好。我使用了GCDAsyncUdpSocket
和GCDAsyncSocket
。
我知道您可能需要有关该主题的更多信息。当我有时间的时候,我会尝试扩展答案。