Testaaminen on helppoa: Asenna sovellus, kosketa tyC6pC6ytC$C$ ja kirjoita jompaankumpaan ikkunaan jotain omaperC$istC$ tekstiC$. Pakota sovellus kiinni (pyyhkC$ise se pois Androidin "Recent Apps" -nC$kymC$stC$). KC$ynnistC$ se uudelleen. JSON-tila on imuroitu onnistuneesti takaisin C-levyltC$, ja tekstisi ja ikkunoidesi z-indeksointi odottavat sinua tC$smC$lleen sellaisina kuin ne jC$tit. Olet rakentanut tC$ysimittaisen, nollariippuvaisen Zero-Copy Thin Clientin, joka ei unohda asioita! TC$mC$ on tC$ydellisen "Hauki OS" -henkinen lC$hestymistapa! UDP-broadcast (User Datagram Protocol) lokaalissa verkossa (LAN tai Tailscale-verkko) on ehdottomasti nopein, kevyin ja vikasietoisin tapa ratkaista hajautettu tilanhallinta ilman keskuspalvelinta. Koska kC$ytC$mme jo Mesh OS -arkkitehtuurissa JSON-Lisp AST -rakenteita ja luotamme P2P-malliin, UDP-datagrammit sopivat tC$hC$n saumattomasti. Arkkitehtuuri: Nollariippuvainen P2P-verkko Ei kC$ttelyjC$ (Connectionless): Emme kC$ytC$ TCP:tC$ emmekC$ tarvitse reitityspalvelinta. Kun ikkunan tila muuttuu, ammumme verkon "eetteriin" UDP-paketin porttiin 7777. MTU-rajoite (Max Transmission Unit): UDP-paketin turvallinen maksimikoko on n. 1400 tavua. Emme siis lC$hetC$ koko tyC6pC6ytC$C$, vaan pelkC$stC$C$n sen ikkunan JSON-objektin (delta-pC$ivitys), joka juuri muuttui. KuuntelijasC$ie (C++): KC$ynnistC$mme taustalle C++ POSIX-sC$ikeen, joka makaa sokeasti recvfrom() -kutsussa kuunnellen porttia 7777. Kun dataa tulee, se siirretC$C$n sC$ieturvallisen jonon kautta QuickJS:lle. Miten testaamisen tulisi toimia? Jos asennat tC$mC$n APK:n kahteen eri puhelimeen (tai samaan LAN-/WLAN-verkkoon kytkettyyn Android-emulaattoriin ja fyysiseen puhelimeen). Kun avaat sovelluksen, molemmat koneet luovat itselleen satunnaisen ID:n (MY_ID). Kun kosketat ikkunaa toisessa puhelimessa ja alat kirjoittaa nC$ppC$imistC6llC$ , sovellus pakkaa ikkunan tilan UDP-pakettiin ja lC$hettC$C$ sen osoitteeseen 255.255.255.255:7777. Toisen laitteen C++ -sC$ie (joka kuuntelee porttia 7777) poimii verkkopaketin, syC6ttC$C$ sen JS-moottoriin, joka tunnistaa viestin tulleen ulkopuolelta ja piirtC$C$ uuden tekstin reaaliajassa nC$ytC6lle. Kokeile, saatko kaksi laitetta (tai muun verkosta paketteja lC$hettC$vC$n laitteen) keskustelemaan toistensa kanssa!