【发布时间】:2014-08-23 13:48:10
【问题描述】:
我已实现连接恢复,并希望在我的测试周期中可靠地重新创建心跳超时(ping/pong 响应超时)。发送方和接收方设备之间的心跳似乎是本地的? --- 我能够创建足够的网络负载来导致我的所有其他应用程序超时。
我经常收到间歇性的“DisconnectWithError”事件,但在我的测试周期中当然不够频繁。
也许我可以在 wifi 范围之外散步或以编程方式断开连接,然后调用我的错误路径(有这样的方法吗? deviceManager.disconnect 不是这种方法),但我希望有一个更“工程友好的外部控制” " 导致超时。有什么想法或经验吗?
hb 超时期间的日志:
13:17:01 myapp[2588] : -[GCKHeartbeatChannel heartbeatTimerDidFire] Ping out
13:17:01 myapp[2588] : -[GCKHeartbeatChannel inactivityTimerDidFire] 发送无响应的最大 ping 消息 - 触发失败消息!
13:17:01 myapp[2588] : -[GCKDeviceManager heartbeatChannelDidTimeout:] 接收器没有响应心跳,断开连接。
13:17:01 myapp[2588] : -[GCKCastSocket disconnect] 断开连接
13:17:01 myapp[2588] : -[GCKCastSocket disconnect] 等待写缓冲区耗尽
13:17:01 myapp[2588] : -[GCKCastSocket doTeardownWithError:] doTeardownWithError
13:17:01 myapp[2588] : -[GCKCastSocket doTeardownWithError:] 通知委托套接字已断开连接
13:17:01 myapp[2588] : -[GCKHeartbeatChannel didDisconnect] 断开连接 - 必要时停止心跳计时器
【问题讨论】:
-
如果我没记错的话,如果心跳在10秒内没有到达另一边,则假设存在网络问题。在 Android 上,我通常做的是关闭/打开我的 wifi。正如您所提到的,走出 wifi 范围也是另一种选择;没有编程方式来调整该数字。
标签: chromecast