我有一个项目需要使用浏览器中的websocket (或命名管道)来与本地程序通信。(Webassembly是否可行?)
我已经用Boost Library编写了一个c++ websocket,并希望将其编译为wasm。
但是我不知道如何在Emscripten中使用Boost Lib(不仅仅是header )。
我试着通过这个来增强Lib:Using Boost with Emscripten
但是,在使用Emscripten编译项目时,我应该如何链接库?
谢谢!
发布于 2018-03-02 20:06:38
我认为您必须使用不同的解决方案来使用websockets和wasm。您可能希望尝试在javascript中使用websockets,并将其与您的c++代码连接起来。
另一个答案是如何做到这一点的示例:
https://stackoverflow.com/a/44637040/3042747
关于c++/javascript交互的文档:
发布于 2017-06-19 04:42:23
昨天我认为你不能这样做,因为在浏览器中你受到浏览器API的限制。我只知道websocket。
但今天我发现我错了--存在WebRtc数据通道,所以可能是emscripten库以某种方式实现了C 'socket‘API。
我想这太难了。为什么要使用功能有限的套接字实现web套接字协议呢?您已经在javascript API中使用了websocket!
要在浏览器沙箱和外部世界之间进行通信,可以从webassembly程序中调用调用websocket API的javasript函数。
在google io codelab中解释了如何编写不使用任何C库的C程序。在这种情况下,wasm代码非常小。
请看我问题中的示例代码:How to call from webassembly websocket API?
https://stackoverflow.com/questions/44582467
复制相似问题