/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
erfaring med design af netværksspil
Fra : Morten Olsson


Dato : 13-09-01 00:10

Hej folkens,

jeg skal, som 4. semester projekt på datamatiker uddannelsen, udvikle et
netværksspil i java.
Mere specifikt er det et krav at klienterne kører som applets.

Der er stadig nogen tid til vi skal i gang, og i mellemtiden skulle jeg
gerne nå at sætte mig lidt
ind i tingene - jeg håber der er nogen her som kan give mig et godt råd
eller to med på vejen.

For det første skal jeg have undersøgt, om det er fornuftigt at anvende RMI
som en del af løsningen:
-Jeg har hørt at der skulle være nogle bugs i RMI når det anvendes over
internettet - er dette
stadig tilfældet med nyeste java version ?
-Kan jeg lave RMI-kald fra klient til klient (applet til applet) - eller kan
de kun få fat i serveren ?
-er RMI overhovedet hurtigt nok ?

Jeg har aldrig beskæftiget mig med noget lign. - så hvis der er nogen der
har nogle gode ideer / råd
om hvorledes det overordnede design kan fungere, vil jeg sætte meget pris på
at høre lidt...

Indtil videre har jeg overvejet følgende muligheder:
1. lave en art virtuelt token-ring net, hvor et virtuelt token passes fra
klient til klient - hver gang en klient
modtager token, tilføjer den sin nye position til det vedhæftede
positionstabel objekt, opdaterer sin egen
positionstabel og sender det videre til næste klient. Dette ville
fjerne problemet med synkronisering, men
er det hurtigt nok - og hvorledes gøres det fejltolerant (brugere der
hopper af, lagger etc)
2. klienterne tager med et fast defineret interval fat i serveren og
sender deres nye position - samtidig opdaterer
de deres egne positionstabeller i forhold til serverens...

Som i sikkert kan se er der >mange< ting jeg skal have fundet ud af før jeg
rigtig ved hvad det er jeg har fat på -
men al input vil være værdsat...

på forhånd tak

venlig hilsen
Morten H. Olsson
http://users.cybercity.dk/~dsl23906




 
 
Soeren Dalby (15-09-2001)
Kommentar
Fra : Soeren Dalby


Dato : 15-09-01 16:00

Hej Morten.

Der er et problem - og mig bekendt kun et - med at bruge RMI over internet
og det er firewalls. Hvis du skal kommunikere over internet via RMI, skal
porten du benytter, være åben i firewall'en for trafik begge veje. Hvis RMI
bliver stoppet, vil den forsøge at kalde igen, denne gang pakket ind i et
HTTP kald, så her kan en speciel konfigurering måske løse opgaven.

Hvis en applet skal kunne snakke med en anden applet skal de kunne finde
hinanden. Det kan efter min mening kun ske via serveren, der har styr på
hvilke sessioner og tilhørende IP numre, der er i brug

En applet kan kun hente ressourcer fra den server, den er kaldt fra, men om
den kan kommunikere med en anden maskine via UDP eller TCP er jeg usikker
på. Her er firewall'en igen et potentielt problem under alle omstændigheder.

Jeg ville vælge en anden taktik. En applet kan altid spørge om sider fra den
server, den er kaldt fra, og det behøver ikke at være HTML. Serveren kan
derfor bede om "gameplan.txt" eller "otherusers.txt" på samme måde som en
browser og læse disse data. På samme måde kan den sende data tilbage via
GET/POST.

Nu er det en skole opgave, men jeg ville ikke turde basere mig på RMI over
internet i en kommerciel løsning med mindre at mængden af brugere kunne
begrænses til en mængde, som man kunne forhandle betingelser med (opsætning
af firewall mm.). Spørg evt. din lærer om en sådan begrænsning er acceptabel
for opgavens løsning.

Bed i øvrigt også din lærer om at afgrænse mængden af browsere, det skal
fungere under. Da jeg skrev en større applet til grafisk præsentation af
børsinformationer (stockr8.dk), reagerede alle browserer forskelligt og det
var et pokkers hyr at få det passet til.

Håber at du blev lidt klogere.

Med venlig hilsen
Søren Dalby
www.dalbydata.dk






"Morten Olsson" <dsl23906@vip.cybercity.dk> wrote in message
news:9nopra$25h$1@news.cybercity.dk...
> Hej folkens,
>
> jeg skal, som 4. semester projekt på datamatiker uddannelsen, udvikle et
> netværksspil i java.
> Mere specifikt er det et krav at klienterne kører som applets.
>
> Der er stadig nogen tid til vi skal i gang, og i mellemtiden skulle jeg
> gerne nå at sætte mig lidt
> ind i tingene - jeg håber der er nogen her som kan give mig et godt råd
> eller to med på vejen.
>
> For det første skal jeg have undersøgt, om det er fornuftigt at anvende
RMI
> som en del af løsningen:
> -Jeg har hørt at der skulle være nogle bugs i RMI når det anvendes over
> internettet - er dette
> stadig tilfældet med nyeste java version ?
> -Kan jeg lave RMI-kald fra klient til klient (applet til applet) - eller
kan
> de kun få fat i serveren ?
> -er RMI overhovedet hurtigt nok ?
>
> Jeg har aldrig beskæftiget mig med noget lign. - så hvis der er nogen der
> har nogle gode ideer / råd
> om hvorledes det overordnede design kan fungere, vil jeg sætte meget pris

> at høre lidt...
>
> Indtil videre har jeg overvejet følgende muligheder:
> 1. lave en art virtuelt token-ring net, hvor et virtuelt token passes
fra
> klient til klient - hver gang en klient
> modtager token, tilføjer den sin nye position til det vedhæftede
> positionstabel objekt, opdaterer sin egen
> positionstabel og sender det videre til næste klient. Dette ville
> fjerne problemet med synkronisering, men
> er det hurtigt nok - og hvorledes gøres det fejltolerant (brugere
der
> hopper af, lagger etc)
> 2. klienterne tager med et fast defineret interval fat i serveren og
> sender deres nye position - samtidig opdaterer
> de deres egne positionstabeller i forhold til serverens...
>
> Som i sikkert kan se er der >mange< ting jeg skal have fundet ud af før
jeg
> rigtig ved hvad det er jeg har fat på -
> men al input vil være værdsat...
>
> på forhånd tak
>
> venlig hilsen
> Morten H. Olsson
> http://users.cybercity.dk/~dsl23906
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408927
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste