如何在Emscripten中使用Boost Library

时间:2017-06-16 06:40:37

标签: emscripten webassembly

我有一个项目需要在浏览器中使用websocket(或命名管道)与本机程序进行通信。 (Webassembly是否可行?)

我已经使用Boost Library编写了一个c ++ websocket,并希望将其编译为wasm。

但我不知道如何在Emscripten中使用Boost Lib(不是标题)。

我试图通过这个来增强Boost Lib: Using Boost with Emscripten

但是,在使用Emscripten编译项目时如何链接lib?

谢谢!

2 个答案:

答案 0 :(得分:0)

昨天我认为你不能这样做,因为在浏览器中你有限 使用浏览器API。 我只知道websocket。

但是今天我发现我不对 - 存在WebRtc数据通道,所以可能的emscripten库以某种方式实现了C'socket'API。

恕我直言,这太难了。 为什么要实现web套接字协议,使用可能功能有限的socket实现? 你已经在javascript API中使用了websocket!

要在浏览器沙箱和外部世界之间进行通信,您可以从中进行呼叫 webassembly program javasript函数调用websocket API。

google io codelab中解释了如何编写不使用任何内容的C程序 C库。在这种情况下,wasm代码很小。

请参阅我的问题中的示例代码:How to call from webassembly websocket API?

答案 1 :(得分:0)

我认为你必须使用不同的解决方案来使用带有wasm的websockets。您可能想尝试在javascript中使用websockets并将其与您的c ++代码连接。

关于如何执行此操作的示例的另一个答案:

https://stackoverflow.com/a/44637040/3042747

用于c ++ / javascript交互的emscripten文档:

https://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html