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