【问题标题】:Chromecast API: how to cause heartbeat timeout to test connection recoverChromecast API:如何导致心跳超时以测试连接恢复
【发布时间】: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


【解决方案1】:

我能够以编程方式导致断开连接的另一种方法是让另一台设备或模拟器尝试获取 Chromecast 连接,这会导致被测应用获取断开连接事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 2013-07-18
    • 2012-08-22
    • 2015-09-07
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    相关资源
    最近更新 更多