Avatar billede larsp Nybegynder
27. februar 2000 - 22:18 Der er 7 kommentarer og
1 løsning

Kommunation mellem server og klient applikation

Jeg forsøger at lave en applet som skal kommunikere med en server applikation.
Der vil være flere klienter som kommunikerer med serveren. Der vil være situationer hvor der kommer kald fra applet'en (brugerindtastning) og situationer hvor serveren kalder applets (når en bruger har sendt informationer, så skal alle applets underrettes og opdateres).
Jeg har fundet ud af, at der findes to metoder til at oprette forbindelsen med, nemlig Stream Sockets og Datagram sockets.

Hvilken metode skal benyttes, hvis jeg ønsker at kommunikere begge veje.

Håber at spørgsmålet giver mening.

Lars Pedersen
Avatar billede kobojt Nybegynder
28. februar 2000 - 09:49 #1
Jeg er selv ny på området, men det lyder som om du skal bruge RMI. Her er et link til en tutorial der forklarer det grundlæggende RMI.
http://developer.java.sun.com/developer/onlineTraining/rmi/

Kobojt
Avatar billede gnarf Nybegynder
28. februar 2000 - 10:01 #2
Jeg ved ikke lige hvad forskellen er på stream sockets og datagram sockets, men det er ihvertfald ikke strengt nødvendigt at benytte RMI for at implementere en klient/server løsning.

Du kan dog ved at bruge RMI kalde metoder på klienten direkte med f.eks. klient.metode() fra serveren.

Hvis du bruger "almindelig" socket forbindelse, skal klienten derimod lytte efter kommandoer på din socket forbindelse, og så afhængig af kommandoen kalde metoden selv.
Avatar billede andersb Nybegynder
28. februar 2000 - 11:05 #3
Jeg har skrevet noget let tilgængeligt undervisningsmateriale om netværksprogrammering i Java http://www.rhs.dk/anders/javanet/. Her kan du se eksempler på anvendelse af både stream sockets (TCP) og datagram sockets (UDP) samt RMI.

Der er ikke nogle specifikke om anvendelsen af netværksprogrammering i applets. Bemærk, at en applet kun må lave netværksforbindelser til den maskine, hvor appletten kom fra (web-serveren) [sikkerhedshensyn].

Bemærk, at al client/server kommunikation er baseret på en passiv part (serveren) og en aktiv part (klienten). Klienten sender en forespørgsel til serveren, som så svarer. En server bruger således det meste af sit "liv" til at vente på forespørgsler fra klienter.
Det lyder lidt som om du ikke ved om appletten er aktiv eller passiv. Normalt vil appletten være den aktive part (klienten) over for en server, der kører på samme maskine som web-serveren.

- Anders

Avatar billede larsp Nybegynder
28. februar 2000 - 14:01 #4
Det jeg gerne vil er, at have en applet som loades, og som så henter nogle oplysninger fra serveren. Dernæst vil jeg gerne indtaste i appletten og sende disse til serveren, som står og venter. Derefter skal serveren så sende disse oplysninger, til alle applets som er åbne, altså ligesom det sker i en chat.

Jeg kan godt få de førstnævnte ting til at virke vha. stream metoden. Jeg ved bare ikke, om det er den rigtige metode, om RMI er bedre. Så vidt jeg kan se er det mere kompliceret. Derudover ved jeg ikke hvordan serveren sender den indtastede besked fra den ene applet ud til alle de andre. Jeg kan godt sende den tilbage til den hvor den kom fra.

Det er i øvrigt en god website, du har Anders.

/Lars
Avatar billede andersb Nybegynder
02. marts 2000 - 10:02 #5
Du vil lave en applet, som starter med at hente nogle oplysninger fra serveren. Hvorfor laver du ikke den færdige web-side på serveren vha. Java Servlet, ASP eller lign.?
Avatar billede larsp Nybegynder
02. marts 2000 - 11:24 #6
Det jeg gerne vil lave er en realtime online klient server applikation, som opdaterer samtlige klienter ved ændringer på en klient. Altså hvis en klient sender oplysninger til serveren, så sender serveren med det samme oplysningerne videre til alle tilsluttede klienter.

Mig bekendt kan dette ikke gøres med inaktive sider på browsersiden men skal gøres vha. en Java Applet (i kombination med en Servlet) eller Windows Remote Scripting. Sidstnævnte er dog ikke færdigudviklet, så jeg tror at Java er bedre.

Nå men der skal jo deles point ud. Jeg har stadig ikke fået svar på mit oprindelige spørgsmål angående Stream/Datagram Sockets, men er dog blevet klogere alligevel. Dit materiale er godt Anders, så du får pointene.

Lars
Avatar billede 49152 Nybegynder
03. januar 2001 - 14:02 #7
Det lyder som en spændende løsning. Blev det nogensinde til noget.

A
Avatar billede pswin Nybegynder
06. marts 2002 - 22:50 #8
Jamen hvis du gerne vil informere øvrige klienter om oplysninger en klient har sendt til serveren så lyder det da som om det fx er Callback i forbindelse med RMI du skal kigge lidt nærmere på.

pswin
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