Avatar billede papfisken Nybegynder
23. januar 2004 - 15:08 Der er 11 kommentarer og
1 løsning

Vejledning til Java

Jeg har et ønske om at lave en chatserver som virker over internettet - Meningenen er at det skulle kunne være muligt at connecte til serveren via en applet/flash frontend - hvordan jeg vil lave denne del ved jeg endnu ikke, men det jeg gerne vil have vejledning til i første omgang er serverdelen.
Så vidt jeg har kunne læse mig til ville den bedste fremgangsmetode være at lave en backend som kommunikere med med frontend vha. XML. Jeg havde tænkt mig at lave backend i form af en Servlet, men jeg ved ikke om dette er det mest optimale - Jeg ved heller ikke rigtig hvor jeg skal starte på det.

Jeg kender allerede til det grundlæggende Java og XML. Jeg er begyndt på J2EE tutorial'en fra sun, men vil gerne have gode råd om det er den letteste vej til at løse problemet.

På forhånd tak :]
Avatar billede arne_v Ekspert
23. januar 2004 - 15:12 #1
Hvis du vil bruge HTTP requests fra client til server, så er servlet en
glimrende løsning.

Hvis du vil have permanente socket connections, så er servlets en meget
dårlig løsning.
Avatar billede arne_v Ekspert
23. januar 2004 - 15:12 #2
HTTP er nemt at arbejde med, men det kræver altså at clients
poller for opdateringer med deraf følgende load på serveren.
Avatar billede papfisken Nybegynder
23. januar 2004 - 15:14 #3
Hvad er fordelen og ulemperne ved HTTP-requests/socket connections? Og hvis jeg skulle bruge socket connections hvilken Java teknologi skulle jeg så benytte?
Avatar billede arne_v Ekspert
23. januar 2004 - 15:18 #4
HTTP: hård belastning på server p.g.a. polling, ingen port problemer, kan
køre på standard web hotel løsning

socket: bruger meget færre resourcer fordi nye beskeder kan pushes fra server
til client når nødvendigt, der skal åbnes for en port til serveren, kræver
(normalt) en speciel server process
Avatar billede papfisken Nybegynder
23. januar 2004 - 15:30 #5
Uhm okay - jeg vil gerne have det således at clients kun får sendt data når der sker noget på serveren (eksempelvis ved at en anden client har sendt data til serveren) -

Det vil sige at du synes det ville være lettest med sockets? (hvad med RMI, ville det ikke være lige så godt?)  -  Jeg har lidt svært ved at se hvordan jeg skal lave det når det skal laves med sockets og dermed ikke vha. en servlet da jeg gerne vil have at det bliver internetbaseret (hvor frontend bliver kørt fra en website)
Avatar billede arne_v Ekspert
23. januar 2004 - 15:35 #6
RMI og sockets ligner hinanden meget arkitektur mæssigt. Forskellene ligger
mere i den måde det skal kodes på.

Så ja RMI kan også bruge stil det, fordi det vil have ca. de samme egenskaber
som sockets.

Du kan godt få web look and feel d.v.s. at folk connecter via browser til
web server og får en side med en applet som kører i browser. At den
applet snakker med en server process som køre ved siden af web serveren
kan brugeren ikke se.

Men det er drifts mæssigt et noget andet setup.
Avatar billede papfisken Nybegynder
23. januar 2004 - 15:39 #7
Det er for mig ligegyldigt om den server appletten snakker med ikke er den samme som webserveren - men dvs. jeg skal slet ikke rode mig ud i J2EE for at lave det?... (både sockets og RMI er så vidt jeg kan se en del af J2SE)

Hvad er lettest at programmere af RMI og Sockets og tager begge teknologier højde for firewalls?

Og til allersidst har du en idé til hvor det er lettest at starte med at læse for at komme i gang med at lære teknologien?
Avatar billede arne_v Ekspert
23. januar 2004 - 15:47 #8
Ja - sockets og RMI er begge J2SE.

Hvad der er nemmest af sockets og RMI afhænger lidt af sammenhængen. Men
jeg kunne godt forestille mig at sockets ville være best til dig. Både
sockets og RMI skal have lukket op for en eller flere porte til servere, men
RMI vil normalt drille mere med hensyn til det.

Start med at læse noget om socket programmering.
Avatar billede papfisken Nybegynder
23. januar 2004 - 15:50 #9
Oki - takker for vejledningen, det kan være at jeg vender tilbage igen om nogle dage hvis jeg går i stå igen :]

smider du lige et svar så får du lidt point
Avatar billede arne_v Ekspert
23. januar 2004 - 15:56 #10
ok
Avatar billede arne_v Ekspert
23. januar 2004 - 15:58 #11
De 2 klassiske problemer med socket connections er:
  * at man ikke har overvejet protokollen hvem sender og hvem modtager
    i hvilken rækkefølge så man hænger
  * at man bruger f.eks. typer skriv og læs så man får sære fejl i data
Avatar billede papfisken Nybegynder
23. januar 2004 - 16:03 #12
Ok, det vil jeg prøve at tage højde for når jeg er klar til at begynde at programmere :]
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