iOS SDK:如何检查端口是否打开?
-
27-10-2019 - |
题
关于如何检查端口是否打开,我还没有找到任何东西。我尝试使用AsyncSocket类实现它,但是尽管我拒绝了到服务器上该端口的所有连接,但它始终返回TRUE。
另外,我尝试使用AsyncSocket的isConnected
方法,但始终返回FALSE。
到目前为止,我的代码: 通用标签
解决方案
您需要使自己成为委托并处理onSocket:willDisconnectWithError:方法。连接是完全异步的,因此,除非存在根本的系统问题(禁用了套接字,传递了无效的地址等),否则在后台尝试进行套接字连接时,该调用将始终成功。
如果该尝试失败,则将调用onSocket:willDisconnectWithError:委托方法,以便您可以知道连接尝试失败。
我不确定为什么,但是AsyncSocket类认为kCFStreamStatusError流状态为“已连接”,因此我怀疑这就是为什么它显示为已连接。您可以在AsyncSocket的源代码中关注所有这一切。
不隶属于 StackOverflow