有一个很棒的名为 Wasmtime 的 webassembly 编译器和虚拟机,它提供对执行的支持而无需任何嵌入,它允许从命令行直接运行 WASM 应用程序https://docs.wasmtime.dev/lang-bash.html
不幸的是,没有通过 WASI 执行 HTTP/网络通信的官方方法,因为 WASI 预览快照中不存在 HTTP/套接字,因此通过 Wasmtime 开发任何有用的应用程序都是有问题的
纯理论上不可能运行一些代理网络服务器,它从主机发出真正的 TCP 连接并通过自定义协议通过文件系统与 Wasmtime 应用程序通信,但它似乎过于复杂并且可能会影响性能不佳
有像https://github.com/deislabs/wasi-experimental-http这样的解决方案,但它不适合,因为需要在 Rust 中编写自定义入口点,安装 Rust 工具链并为一堆目标平台编译它,而不是下载独立的 executalbe来自受信任网站的文件https://wasmtime.dev/
几周前我打开了问题https://github.com/bytecodealliance/wasmtime/issues/3483,但不幸的是没有进展或答案
因此,Wasmtime 团队的主要任务是:如果任何通信功能不可用,那么使用 Wasmtime 运行时开发读取世界应用程序意味着什么?同时,像神经网络这样的外来扩展也在积极开发中,但是 HTTP/原始套接字支持是 MVP 的主要部分
谢谢