0007. ブラウザでは、ゲストのネットワークを使わない
- 状態:0014 で置き換え(2026-10-29)
- 決めた人:実装中の判断
Emscripten は、ゲストの TCP と UDP の socket を WebSocket で中継しようとし、Node.js では ws モジュールを求めて
失敗しました。aube は --version や install のたびに、registry へ更新の確認をしに行きます。
CheerpX の計測も、ネットワークなしで行われていました。
この背景は、Emscripten でビルドした以前の blink のコアについてのものです。コアを paludarium に移してからも決定はそのままで、
formicarium はゲストにネットワークを渡さず、aube も同じ環境変数と native の基準値で動かします。
下の EAFNOSUPPORT は blink で確かめた結果です。
socket() は EAFNOSUPPORT を返します。aube は AUBE_NO_UPDATE_CHECK=1 で実行し(runtime/registry.ts の
GUESTS.aube.env)、native の基準値も --network none のコンテナで作って条件をそろえます。
socketpair() は、コアの中でエミュレートした記述子で使えます。
- 余計な依存が増えず、native の基準値とそのまま比べられます。
- registry からの取得など、ネットワークを使うゲストは動きません。
- Emscripten の WebSocket の中継を使う:中継用のサーバーと、さらなる依存が要る。