工作,我必须使用GCDAsyncSocket(7.5.0)一个非常简单的TCP客户机/服务器实现,我使用NSNetService
服务发现。 它只用于本地wifi网络,它工作2年没有问题(只是说:我有适当的使用GCDAsyncSocket)。GCDAsyncSocket客户端/服务器没有结束的iOS接入点
...直到我试图使用第三iOS设备作为接入点提供到客户端和服务器连接的WiFi网络。当第三iOS设备通过共享通过蓝牙连接的连接客户端和服务器
一样。
服务发现是确定的,但一旦我得到的IP地址和端口,我无法连接而得到这个错误:
Error Domain=NSPOSIXErrorDomain Code=64 "Host is down" UserInfo={NSLocalizedDescription=Host is down, NSLocalizedFailureReason=Error in connect() function}
我试图限制对IPv4和IPv6(两者都提供通过服务发现),我也尝试使用GCDAsyncSocket存储库的ipv6 git分支和各种参数。
我的主要问题是:建立通过WiFi或蓝牙的iOS接入点可以简单的TCP联接,如果又如何?
我二次的问题是:为什么NSNetService
服务发现工作,而不是简单的TCP连接?我知道这些协议不具有可比性,但仍然令我困惑。
是的,听起来像是这样。我希望我能找到解决方法来建立连接,但目前还不清楚是否以及如何实现这一目标:如果找不到服务器的IP,客户端如何连接到它? –