【发布时间】:2021-12-15 09:49:08
【问题描述】:
有一个很棒的名为 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 工具链并为一堆目标平台编译它,而不是从此处的受信任网站下载独立的可执行文件 @987654323 @
几周前我打开了问题https://github.com/bytecodealliance/wasmtime/issues/3483,但不幸的是没有任何进展或答案
Wasmtime 团队的主要任务是:如果任何通信功能不可用,那么使用 Wasmtime 运行时开发读取世界应用程序意味着什么?与此同时,像神经网络这样的外来扩展正在积极开发中,但 HTTP/原始套接字支持是 MVP 的主要部分
谢谢
【问题讨论】:
标签: webassembly wasi wasmtime