Pokud tomu dobre rozumim, tak pouzivate TCP spojeni pro prenos nekolika ruznych typu informaci. Samozrejme ze je to mozne, al emusite si na obou stranach vytvorit nejaky konecny automat ktery bude rozpoznavat zpravy a dale na ne reagovat. Reseni nejakymi timeouty neni prilis vhodne.
doporucoval bych vytvorit si na prijimaci strane nejaky buffer do ktereho se budou pripisovat nove prichozi data a pri kazdem zapisu do tohoto bufferu se zkontroluje zda neobsahuje jiz celou zpravu. (je nutne rozpoznat o ktery typ zpravy jde) Pokud je zprava kompletni, musi se predat dale ke zpracovani a smazat z bufferu. Toto je potreba opakovat dokud je v bufferu alespon jedna kompletni zprava.
Tento postup je vhodny pro jakoukoliv sitovou komunikaci. Musite si totiz uvedomit ze jedna zprava vyslana ze serveru Vam ve zkutecnosti muze prijit rozkouskovna na nekolik dilu a pak by jste zpracovaval jen jednu jeji neuplnou cast. Pri dalsim eventu onRead by jste pak zpracovaval zbytek zpravy coz by jiz nemuselo korespondovat z parsovacim algoritmem a zprava by byla vyhodnocena jako spatna.