我有一个项目需要在浏览器中使用websocket(或命名管道)与本机程序进行通信。 (Webassembly是否可行?)
我已经使用Boost Library编写了一个c ++ websocket,并希望将其编译为wasm。
但我不知道如何在Emscripten中使用Boost Lib(不是标题)。
我试图通过这个来增强Boost Lib: Using Boost with Emscripten
但是,在使用Emscripten编译项目时如何链接lib?
谢谢!
答案 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文档: