【问题标题】:How to Communicate between JavaScript and Native Client modules如何在 JavaScript 和 Native Client 模块之间进行通信
【发布时间】:2014-07-16 09:34:19
【问题描述】:

我知道消息系统有一种方法(即 JS 发送一些消息,而 c++ 代码处理该消息)。除了消息系统之外,还有其他方式可以让 JS 与 Native Client 模块进行通信吗?

比如说在JS调用m_client->Native Client模块的start函数中点击start。 JS中点击stop调用m_client->Native Client模块的stop函数。

【问题讨论】:

    标签: javascript c++ google-nativeclient


    【解决方案1】:

    不,消息 API(即 PostMessage)是 JavaScript 和 NaCl 模块可以直接通信的唯一直接方式。

    您可以实现类似于您所描述的内容:

    // JavaScript
    startButtonEl.addEventListener('click', function(e) {
      naclModuleEl.postMessage('start');
    }, false);
    

    当然,这会异步向 NaCl 发送消息。有一个新的 API 正在开发中,它将允许与 NaCl 模块进行同步通信:

    // JavaScript
    startButtonEl.addEventListener('click', function(e) {
      var response = naclModuleEl.postMessageAndAwaitResponse('start');
      // do something with the response
    }, false);
    

    但这目前在 Chrome 稳定版中不可用(它最近登陆 Chrome,请在此处查看错误:https://code.google.com/p/chromium/issues/detail?id=367896

    【讨论】:

      猜你喜欢
      • 2013-10-04
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 2020-10-07
      • 1970-01-01
      相关资源
      最近更新 更多