Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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
Ios 如何检查插座是否正在连接或未使用红蜘蛛?_Ios_Swift_Starscream - Fatal编程技术网

Ios 如何检查插座是否正在连接或未使用红蜘蛛?

Ios 如何检查插座是否正在连接或未使用红蜘蛛?,ios,swift,starscream,Ios,Swift,Starscream,我用红蜘蛛。如何检查插座是否连接? isConnecting是私有财产。您应该使用: 如果您想检查您的套接字是否仍然处于活动状态(如果您觉得它可能已经死了,例如您没有接收到您应该得到的数据包流),那么您可以发送ping,它将导致在套接字不存在的情况下触发websocketDidDisconnect方法。是的,你是对的,isConnected说它在过去是连接的,所以你不能依赖它 func sendPing() { guard let socket = socket, socket.isCo

我用红蜘蛛。如何检查插座是否连接?
isConnecting
是私有财产。

您应该使用:


如果您想检查您的套接字是否仍然处于活动状态(如果您觉得它可能已经死了,例如您没有接收到您应该得到的数据包流),那么您可以发送ping,它将导致在套接字不存在的情况下触发websocketDidDisconnect方法。是的,你是对的,isConnected说它在过去是连接的,所以你不能依赖它

func sendPing() {
    guard let socket = socket, socket.isConnected
        else { return }
    socket.write(ping: "PING")
}

非常感谢。我想,
isConnected
表示,
插座过去曾连接过一次
。它并没有说插座现在正在连接。因为它在脱机状态下显示
true
。@MaikoOhkawa可能是应用程序脱机时套接字未正确断开连接。用于测试应用程序的当前连接状态。谢谢。我知道离线时需要手动调用
discCnnect()
已连接
属性不会自动更改。隐马尔可夫模型。。。我想,
可达性
只在我调用主机时检查它的连接。如果我每5秒使用一次
Reachability
,并且离线时间很短,WebSock实际上会死掉,但我认为
Reachability
会返回成功。我的天啊,插座断开不再工作了。现在是否有机会检查是否手动连接?
func sendPing() {
    guard let socket = socket, socket.isConnected
        else { return }
    socket.write(ping: "PING")
}