Download Game! Currently 106 players. Last logged in:VerenAckzorRequiemSaigere

Blitzer's Blog >> 73126

Back to blogs index
Posted: 01 Nov 2026 22:06 [ permalink ]
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!