A websocket az lényegében pont úgy működik, mint egy tcp/ip socket kapcsolat, és kb. pont ugyanazt nyújtja. Nálunk ez úgy néz ki, hogy van egy szerver, amihez tcp/ip-n lehet kapcsolódni, és a bináris adatok asn.1 enkódolva mennek. Eddig egy swing-es kliensünk volt, ami csatlakozott a szerverhez. Ezt most lecseréltük egy olyan kombinációra, hogy van egy előtét appunk, ami a szerverhez csatlakozik, és lényegében egy standard socket - websocket proxy, és a kliensünk pedig ennek a proxynak a websocket lábához. Mivel GWT-ben fejlesztünk, ezért elég könnyen át tudtuk venni az eddig is meglévő logikánkat, illetve az asn.1 osztályokat, így a kódunk egy része simán közös tudott maradni. A logika a szerver oldalon van lekódolva, a kliens felé csak kb. annyit küld, hogy itt vannak ezek a panelok, jelenítsd meg őket, ahogy tudod, a kliens felől pedig utasítások jönnek: erre meg arra az elemre klikkelt, stb.
A websocket előnye, hogy egy kétirányú kapcsolatod van, tehát nincs polling, meg ilyesmi, csomagok jönnek és mennek, annyi extrával, hogy biztosítva van, hogy a csomag egyben érkezik meg, nem pedig darabokban.
Igazából jó lenne tudni, hogy nálatok mi a logika, úgy jobban el lehetne dönteni, hogy ez-e a jó irány számotokra, vagy valami más.