Hvis du har en liste eller hashmap med sessionsobjekter eller hvordan du nu har håndtag i de aktive klienter kan du godt opdatere deres objekter, men om du kan tvinge dem til at få reloaded "deres" sider ved jeg ikke. Er det det du har brug for?
Det kræves at clienten har oprettet en forbindelse til serveren først. Når denne forbindelse forefindes, kan serveren sende uopfordrede messages til clienten, som den så kan reagere på.
Du kan ikke i serverkoden svare flere klienter. Hele http miljøet er netop baseret på at det er såkaldt "pull" dvs. at det er klienterne der forespørger igennem et request, og så for svar på spørgsmålet. Hver klient laver sit eget request til serveren. Det du muligvis ønsker, er så bare at sørge for at det genererede array bliver husket og delt mellem de forskellige klienter. Den simple måde at gøre dette kunne være at gemme arayet i en statisk variabel i din servlet. Så er der nemlig kun den samme instans som altid vil blive tilgået. Den vil således kun forsvinde hvis din servlet bliver nedlagt, og hvornår den gør det afhænger meget af opsætning på din servlet-container. Men jeg går ud fra at du alligeve gemmer de nødvendige data i f.eks. en database (med mindre der er tale om "flygtige" data der ikke behøver at overleve.) Jeg håber det her er forståeligt og at jeg har forstået dit spørgsmål korrekt.
Hvis vi snakker en alm. webclient op mod en almindelig servlet, så er svaret grundlæggende ja (hvis du har brug for løbende opdatering). Jeg har hørt om løsninger der har fusket en smule ved disse premisser ved at udnytte at visse servere kan sende deres output lidt ad gangen uden at angive på forhånd hvor lang "siden" er. Dvs. at klienten bliver ved med at vente på mere data indtil den får en end-of-page el. lign. Men det er vist noget snavs:-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.