你能解释一下如何在电视中的Hbbtv React应用程序和React Native中的移动的应用程序之间建立连接吗?我在React Native移动应用程序中实现了SSDP客户端,以查找SSDP服务器(应该在电视上实现)。然后接收该服务器的IP地址(类似于DIAL架构)。服务器也创建WebSocket服务器。此服务器应启动用React.js编写的Hbbtv应用程序。现在我可以通过这个服务器从移动的App向Hbbtv React App发送消息,但我完全不知道如何在我的电视上实现这种SSDP+WebSocket服务器。
2条答案
按热度按时间sshcrbum1#
这个项目https://github.com/fraunhoferfokus/cordova-plugin-hbbtv提供了一个很好的例子,也许可以回答你的问题。它是一个用于Android的cordova插件,但它为你提供了一个概述,如何实现像React Native这样的框架的客户端。https://github.com/fraunhoferfokus/cordova-plugin-hbbtv-helloapp/中的Hello World移动的应用程序提供了一个使用插件在电视上发现和启动的例子。
HbbTV应用程序是使用Web技术开发的,就像您的案例React.js一样,并使用WebSocket建立与运行在HbbTV终端上的本地WebSocket服务器的连接。这个文件夹https://github.com/fraunhoferfokus/cordova-plugin-hbbtv-helloapp/tree/master/www提供了一个使用CS功能的简单HbbTV应用程序的示例。您可以将其作为react.js的参考。您需要遵循的主要文件是https://github.com/fraunhoferfokus/cordova-plugin-hbbtv-helloapp/blob/master/www/js/cs-app.js。希望这对您有所帮助。
qncylg1j2#
为了 成功 通信 , 伴随 屏幕 应用 程序 应 与 HbbTV 终端 ( 电视 机 ) 在 同一 家庭 网络 上 。
终端 ( 电视 机 ) 实现 了 提供 端点 的 服务 器 , 该 端点 为 客户 端 提供 Websocket 协议 的 服务 器 端 ( 终端 上 的 HbbTV® 应用 程序 和 伴随 屏幕 应用 程序 ) 。
一旦 终端 ( 电视 机 ) 上 的 HbbTV® 应用 程序 调用 了 * HbbTVCSManager * 嵌入 式 对象 的 * getApp2AppLocalBaseURL ( ) * 方法 , 服务 器 应 能够 接受 连接 , 直到 应用 程序 退出 。 请 参见 :https://developer.hbbtv.org/references/apis/defined-javascript-apis/companion-screen-discovery-apis/ 的 最 大 值
该 终端( 电视 机 ) 处理 来自 客户 端 的 连接 请求( HbbTV® 应用 程序 和 伴随 屏幕 应用 程序 ) , 并 应用 ETSI TS 102 796 标准 的 第 14.5.4 条 中 定义 的 配对 规则 , 以 确定 是否 将 来自 两 个 客户 端 的 连接 配对 。如 在 ETSI TS 102 796 标准 的 条款 14.5.5 中 所 定义 的 , 以便 在 成对 的 两 个 客户 端 连接 之间 中继 消息 。
简单 来说 , 终端 ( 电视 机 ) 上 的 HbbTV® 应用 程序 连接 到 终端 ( 电视 机 ) 上 的 服务 器 , 连接 进入 等待 状态 , 此时 伴随 屏幕 应用 程序 应该 连接 到 终端 ( 电视 机 ) 上 的 服务 器 , 连接 进入 等待 状态 , 终端 ( 电视 机 ) 按照 以下 规则 配对 两 个 等待 连接 :
这种 " 策略 " 应该 会 给 你 带来 想要 的 结果 。