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")
}