如何在JavaScript和本地客户端模块之间进行通信
How to Communicate between JavaScript and Native Client modules
我知道有一种方式消息传递系统(在JS发送一些消息和c++代码处理该消息)。除了消息系统,还有其他的方式,JS可以与本地客户端模块通信吗?
例如,在JS中单击start调用原生客户端模块的m_client->start函数。在JS中点击stop调用m_client-> Native Client模块的stop函数不,消息传递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)
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 尝试导入pybind-opencv模块时出现libgtk错误
- 在cuda线程之间共享大量常量数据
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- 启用和禁用 RTTI 的模块之间的兼容性
- 是否可以在本机C++模块之间共享数据
- 如何在插件 [模块] 之间共享 boost::asio::io_service
- lib和带有autoconf的模块之间有什么区别
- c++模块之间的数据传输
- ssh通过两个WT12蓝牙模块之间的蓝牙
- 如何在单独的 Boost.Python 模块之间拆分继承关系
- 在用SWIG编译的c和lua模块之间共享数据指针
- python中编译模块之间的依赖关系
- 在PAM模块之间传递密码
- 如何在JavaScript和本地客户端模块之间进行通信
- 在模块之间传递对象的替代方法
- 不同的C/ c++模块在编译和链接时彼此之间有什么通信?