如何在Emscripten中使用Boost Library

问题描述 投票:0回答:2

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

我用Boost Library写了一个c ++ websocket,想把它编译成wasm。

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

我试着通过这个建立Boost Lib:qazxsw poi

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

谢谢!

emscripten webassembly
2个回答
0
投票

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

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

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

要在浏览器沙箱和外部世界之间进行通信,您可以从调用websocket API的webassembly程序javascript函数调用。

Using Boost with Emscripten解释了如何编写不使用任何C库的C程序。在这种情况下,wasm代码很小。

请参阅我的问题中的示例代码:google io codelab


0
投票

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

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

How to call from webassembly websocket API?

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

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

© www.soinside.com 2019 - 2024. All rights reserved.