Avatar billede tchosen1 Nybegynder
19. maj 2003 - 21:26 Der er 7 kommentarer og
1 løsning

beregning af tid i RMI

hej folket...

hvordan kan man beregne den tid det tager at overføre data vha. RMI, så man kan bruge det i sin aplikation og visualisere det i en statusbar?
Avatar billede tchosen1 Nybegynder
19. maj 2003 - 21:33 #1
altså i en JProgressBar!!!
Avatar billede arne_v Ekspert
19. maj 2003 - 21:43 #2
Det tror jeg ikke at du kan.

Du kan ikke beregne hvor meget data der skal flyttes og du kan heller
ikke følge med i hvor meget data der er flyttet.

Generelt er RMI også kun en god løsning til så små data mængder
at det praktisk taget ingen tid tager.

Til store data mængder er det meget bedre at bruge socket. Og så er det
nemt at følge i hvor meget data der er flyttet.
Avatar billede tchosen1 Nybegynder
19. maj 2003 - 21:47 #3
hvis man kan følge med i hvor lang tid det tager at sende data vha. Sockets, så burde man da også kunne gøre det i RMI, RMI bygger på Sockets.
Avatar billede arne_v Ekspert
19. maj 2003 - 21:52 #4
Du kan muligvis godt lave dig en SocketFactory som returnerer
en extended Socket der holder styr på hvor meget data der er
flyttet og delegerer til super klassens metode.

Jeg har aldrig set noget sådant.

Men er der meget pointe i at bruge RMI så ?

Hele pointen i RMI er netop at man ikke skal bekymre sig om
serialsering, sockets etc..
Avatar billede arne_v Ekspert
19. maj 2003 - 22:11 #5
Hvis du endelig ville lave noget sådant med RMI, så tror jeg at det var
nemmere at lave en "RMI session".

Du laver interfacet med:

open
getOneChunk
close

open returnerer et ID som sendes med getOneChunk og close.

Serveren opretholder en kontekst for hver ID.

getOneChunk henter den næste klump af data.

Stadigvæk ikke "god RMI", men rimeligt nemt at implementere og forstå.
Avatar billede arne_v Ekspert
19. maj 2003 - 22:13 #6
Pointen er at så er det også muligt at opdatere progress efter hver kald
af getOneChunk.
Avatar billede _carsten Nybegynder
19. maj 2003 - 22:17 #7
Hvis det er nogenlunde den samme mængde data som flyttes hver gang, og du kender tiderne (max. og min. afhængig af datamængde) er der jo den mulighed, at du kan starte flytningen i en tråd og implementere en JProgresBar heri, samt et Timer object, som sørger for at ProgressBaren flytter sig, selvom der reelt ikke er flyttet tilsvarende mængde data

Men hvis det tager 10 sek. den ene gang og 60 sek. næste gang, så er ovenstående nok ikke løsningen - det er rent ud sagt noget hø !!.

Tager det max 15 sek. kan det godt komme til at se fornuftigt ud !
Avatar billede tchosen1 Nybegynder
19. maj 2003 - 22:17 #8
tak for hjælpen... prøver mig frem
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester