Spaces:
Runtime error
Runtime error
<title>Networking via Broadcast Channel API</title> | |
<script src="../build/libv86.js"></script> | |
<script> | |
; | |
window.onload = function() | |
{ | |
var emulator = window.emulator = new V86({ | |
wasm_path: "../build/v86.wasm", | |
memory_size: 64 * 1024 * 1024, | |
vga_memory_size: 2 * 1024 * 1024, | |
screen_container: document.getElementById("screen_container"), | |
bios: { | |
url: "../bios/seabios.bin", | |
}, | |
vga_bios: { | |
url: "../bios/vgabios.bin", | |
}, | |
bzimage: { | |
url: "../images/buildroot-bzimage68.bin", | |
}, | |
autostart: true, | |
}); | |
var broadcast = new BroadcastChannel("v86-network"); | |
broadcast.addEventListener("message", function(e) { | |
emulator.bus.send("net0-receive", e.data); | |
}); | |
emulator.add_listener("net0-send", function(packet) { | |
broadcast.postMessage(packet); | |
}); | |
} | |
</script> | |
<div id="screen_container"> | |
<div style="white-space: pre; font: 14px monospace; line-height: 14px"></div> | |
<canvas style="display: none"></canvas> | |
</div> | |
<pre> | |
# This example allows network across multiple browser tabs by using BroadcastChannels. | |
# Configure a static IP | |
ifconfig eth0 up arp 10.5.0.x | |
# Ping by IP | |
ping 10.5.0.x | |
# Run a DNS server and send a query (10.5.0.x for server, 10.5.0.y for record) | |
echo "anotherhost 10.5.0.y" | dnsd -c - -v - server | |
nslookup -type=a anotherhost 10.5.0.x - client | |
# Telnet calculator | |
socat TCP-L:23,fork exec:bc | |
# Simple HTTP server | |
socat TCP-L:80,crlf,fork system:'echo HTTP/1.1 200 OK;echo;lua /root/test.lua' | |
</pre> | |