Avatar billede elites Nybegynder
08. maj 2002 - 12:41 Der er 8 kommentarer

Spil server i j2ee

Jeg skal lave et spil, hvor nogle klienter skal kunne tilmelde sig og spille mod hinanden. Det skal ske ved hjælp af j2ee..
En bruger logger ind og en eller anden spilserver skal så starte spillet/tilføje spilleren.
Hvordan er det overordnede design for sådanne en opgave...
Skal man lave en ganske almindelig spilserver i java eller skal man lave den som en bean eller hvad?

Bedste forslag for point!
Vil meget gerne have eksempler!

På forhånd tak..
Elites
Avatar billede disky Nybegynder
08. maj 2002 - 12:50 #1
Hvorfor SKAL det være en j2ee ?

Serveren skal jo ikke lave andet end at sende beskeder videre.

Men den smarte løsning er at lave server programmet som en 'mailbox' model.

Altså den ved hvem der spiller sammen, hvis den modtager noget finder den ud af hvem der er modtagere og sender beskeden videre.
Avatar billede elites Nybegynder
08. maj 2002 - 13:01 #2
Jeg må indrømme at det fik jeg ikke helt så meget ud af!!

Hvordan implementerer man denne mailbox model!
Har jeg forstået det rigtigt!
serveren får en besked fra klienten og sender den videre til medspiller klienterne, som så selv udfører beregningerne!

Vil der ikke være noget real time problematik der...

Spillet skal kunne spilles på nettet... så jeg gik ud fra at j2ee ville
være smart at anvende, men der tager jeg måske fejl.

Du har ikke nogle eksempler på en sådanne server klient struktur?
Avatar billede disky Nybegynder
08. maj 2002 - 13:45 #3
Nej jeg har ingen source kode eksempler på det.

Prøv følgende:

du har en tom mailbox til at starte med, som har en liste over den type spil den kender.

Så connecter der en spiller til mailboxen og siger han gerne vil oprette et spil af typen A, en anden spiller opretter en af typen B.

Nu kommer der så en 3. spiller, som gerne vil være med til spil A, han bliver så lagt i 'Spil A' bunken som spiller, når spiller 1 så laver et trak på sin client, bliver trækket sendt til mailboxen, som straks kigger om denne spiller er en godkendt spiller til dette spil. Hvis han/hun er så bliver trækket sendt videre til alle som spiller med eller kigger på dette spil, i dette tilfælde kun spiller 3. Det samme sker den anden vej.
Samtidigt kan serveren sagtens håndtere andre spil, da det hele selvfølgelig er tråd styret.

Om du lige skal bruge J2EE kan jeg ikke svare på. Normalt bruges J2EE hvis man vil fordele funktionaliteten på flere servere, eller har brug for noget af den funktionalitet som er i J2EE.
I dit tilfælde kan jeg dog ikke se at du ligefrem skal til at bruge de avancerede ting som kræver en J2EE specifik server. Men du kan sagtens nøjes med f.eks. Resin fra www.caucho.com til at lave opgaven.
Eller bare skrive en application som ordner det for dig.

Håber denne forklaring var lidt lettere at forstå.
Avatar billede logical Nybegynder
08. maj 2002 - 13:46 #4
Du skal bruge JMS (Som også er en del af J2EE) til det.
Omend, JMS har mange services, og er ikke gearet til realtime spil informationer, men virker fint til "langsomme" spil.

Du opretter to Topics, et til beskeder fra client til server (CTS), og et til beskeder fra server til client (STC).

Serveren læser beskeder fra CTS, og broadcaster om nødvendigt til STC.

Klienter lytter til STC og poster beskeder til CTS.

Jeg har desværre ikke så mange eksempler, her hvor jeg sidder, men hvis du specifikt vil have nogen, kan de komme senere.

Her er en tutorial om JMS, som beskriver det meste.

http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/jms_tutorialTOC.html
Avatar billede r9 Nybegynder
08. maj 2002 - 13:51 #5
Hvis det er til brug på nettet, så er Java/JSP jo den perfekte løsning.

Du kan sagtens bruge J2EE, da det jo også er Java/JSP, men det gør det en hel del sværere.

Og da det i forvejen er rimelig komplext at lave en serverside spil i Java, vil jeg anbefale at lave det i ren Java/JSP først.

Så kan du altid lægge det over på J2EE senere.
Avatar billede disky Nybegynder
08. maj 2002 - 14:34 #6
som logical siger, er JMS det optimale, men jeg mente dog det var temmeligt overkill at bruge det.
Avatar billede logical Nybegynder
09. maj 2002 - 20:44 #7
r9>> JSP er fin til en pull arkitektur, men spillet vil formodentlig kræve en push arkitektur, og så er hverken JSP eller servlet videre geniale..
Derudover, kan jeg ikke se hvordan JSP skulle give en løsning?

disky>> overkill er at skrive en selv, hvilket mange gør, og fejlagtigt, desværre!
Avatar billede karsten2004 Nybegynder
26. september 2002 - 14:11 #8
Jeg har lavet sådan et framework. Baseret på Applet på klientsiden og servlet på serversiden. Fungere fint - og går igennem alle firewalls :-) .. (hvis port 80 er åben - selvfølgelig). Så har man både push og pull ..
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