【发布时间】:2018-06-27 14:48:53
【问题描述】:
我使用 红蜘蛛。如何检查套接字是否连接?
isConnecting 是私有财产。
【问题讨论】:
标签: ios swift starscream
我使用 红蜘蛛。如何检查套接字是否连接?
isConnecting 是私有财产。
【问题讨论】:
标签: ios swift starscream
如果你想检查你的套接字是否还活着(如果你觉得它可能已经死了,例如你没有收到你应该得到的数据包流)那么你可以发送 ping,它会导致在套接字消失的情况下触发 websocketDidDisconnect 方法。是的,你是对的 isConnected 说它过去是连接的,所以你不能依赖它。
func sendPing() {
guard let socket = socket, socket.isConnected
else { return }
socket.write(ping: "PING")
}
【讨论】:
你应该使用socket.isConnected:
if socket.isConnected {
//socket is connected
}
【讨论】:
isConnected 说the socket has connect once in a past。它没有说the socket is connecting now。因为它在离线时说true。
discCnnect()。 isConnected 属性不会自动更改。嗯...我认为,Reachability 仅在我调用它时才检查与主机的连接。如果我每 5 秒使用一次Reachability 并且离线时间很短,websocke 实际上会死,但我认为Reachability 返回成功。天哪。