webForumDet fria alternativet

Kontinuerlig laddning från Servlet?

3 svar · 436 visningar · startad av Al

AlMedlem sedan jan. 200122 inlägg
#1

Jag håller på med en realtidsgrej som ska skicka data från en servlet till en browser, och det måste köras över http.

Servleten leverarar små mängder data sporadiskt, och denna data skall visas i browsern direkt.

Http är ju sessionsbaserat, så jag vill att browsern på nåt sätt koninuerligt läsa/ladda från servleten och skicka ut datan som kommer i browsern.

Jag har testat att skicka data till responsens printwriter med lite fördröjningar, men browsern slutar läsa innan nåt skickas. Den väntar inte trots att kopplingen fortfarande är öppen. Datan kommer istället nästa gång jag uppdaterar sidan.

Så, hur fixar man detta med att browsern ska ladda hela tiden från en servlet?

Om nån kunde hjälpa vore det himla schysst.

/Al

spangoMedlem sedan juni 20008 205 inlägg
#2

HTTP och realtidsuppdateringar hör inte ihop, det är den bittra sanningen. När webbläsaren gör en request och har fått svar på den glömmer den din server och din server glömmer den.
Du blir tvungen att göra en applet som uppdateras, eller göra så att sidan uppdaterar sig själv mellan varven.

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

ChainsawMedlem sedan sep. 20001 124 inlägg
#3

Man kan ju lösa det såhär om man verkligen vill.
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">bool running = true;
...
while (running) {
out.println("Hej! ");
Thread.sleep(1000);
out.println("Och hejdå... ");
Thread.sleep(3000);
}

------------------
Hollowhead - levererar din dagliga dos av nyttig hårdrock!

AlMedlem sedan jan. 200122 inlägg
#4

Fick det att funka, var ju bara att flush'a ut det (hade testat det, men hade en content-type som gjorde att det inte funkade).

/Al

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)