Chromecast 接收器应用程序无故终止

Posted

技术标签:

【中文标题】Chromecast 接收器应用程序无故终止【英文标题】:Chrome Cast Reviever App Terminates without cause 【发布时间】:2014-04-07 15:42:36 【问题描述】:

我正在开发一个在电视中呈现图像的应用程序……典型的用户会从发送方启动接收方应用程序并关闭发送方应用程序。

一旦应用程序由发送方启动,接收方就会加载一个页面,该页面会获取一组带有文本的图像并将其显示给用户。

该应用程序运行良好,但它会在一段时间后无故随机终止,因此用户无法看到接收器应用程序打算显示的所有图像。

接收器控制台日志是……

[1830.772s] [cast.receiver.IpcChannel] 收到消息:"data":"\"reason\":\"transport_too_long_inactive\",\"senderId\":\"10:client-94641\ ",\"type\":\"senderdisconnected\"","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"

[1830.781s] [cast.receiver.CastMessageBus] 调度 CastMessageBus 消息 [urn:x-cast:com.google.cast.system, SystemSender]: "reason":"transport_too_long_inactive","senderId":"10 :client-94641","type":"发件人断开连接"

我还使用 HelloText Chrome 应用作为我的应用的基准。

任何帮助将不胜感激......

【问题讨论】:

【参考方案1】:

嗯,日志说它由于太长时间不活动而断开连接。当您看到断开连接时是这种情况吗?

【讨论】:

是的,我确实在日志中看到了这一点,但是什么是不活动……是 a) 发送方和接收方之间的通信,还是 b) 接收方处于空闲状态)一旦发送者要求接收者运行一个显示图像的应用程序并完成显示图像或运行应用程序,发送者和接收者之间就不需要通信。关于 b) 接收方正在运行图像渲染应用程序,发送方和接收方之间不需要更多的通信或活动,因为接收方没有完成分配的任务。那么什么是不活动 您确定与发件人的连接没有因网络问题而中断吗?发送者和接收者之间有一个心跳,帮助双方意识到对方不再可访问。您看到的错误表明无法接收到此心跳。 这就是我怀疑的问题......在 chrome 浏览器的情况下......用户将启动应用程序,然后使用应用程序..他将离开 PC.. . 一台典型的计算机在空闲设置时进入睡眠状态......所以当计算机进入睡眠状态时,网络连接会丢失......但是用户正在他的电视上观看应用程序......所以当心跳到手机时设备是有意义的,因为它始终处于开启状态......另一方面,PC 并不总是处于开启状态......问题是......是否有解决方法...... 我猜你应该换个角度看待它:假设你的发送者断开连接,你的接收者的正确行为是什么?在处理以媒体为中心的应用程序的许多情况下,我们希望接收器继续播放。如果这是所需的行为,那么让您的接收器不做任何特别的事情。如果发送者复活,它必须重新连接到同一个正在运行的会话,然后才能控制情况。无需强制发件人始终保持联系。 是的,您对该回调的实现负责您所看到的行为。

以上是关于Chromecast 接收器应用程序无故终止的主要内容,如果未能解决你的问题,请参考以下文章

如何预览 chromecast 接收器应用程序?

无法调试 Chromecast 的自定义接收器应用程序

是否可以从接收器应用程序获取有关 Chromecast 设备的信息

在 chromecast 接收器应用程序上生成或获取 UUID 或序列号

谷歌 chromecast 接收器应用程序可以在没有发送器应用程序的情况下工作吗...从网络服务器馈送

chromecast 接收器和发送器应用程序可以是同一个吗?