Archief - JavaGame via internet maken: tips gezocht

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ValckeM

Legacy Member
Io,

ik zou mij graag een spel schrijven in java, maar het zou moeten werken via internet. (toepassing, geen applet)

De internetoptie zou dus moeten zijn in de aard van tetrinet.
Iemand die host speel en de andere geef gewoon zijn ip in en connect er dan naartoe.
Dan zou er moeten info over en heen gaan (bv tabellen)

Nu, weet iemand hoe ik dit best aanpak? Welke klassen ik hiervoor nodig heb? Of info hieromtrent.

Ik heb tijdje geleden nog met die datagramdinges gewerkt enal (tzit ver) maar da was gewoon voor fileserver/client die willekeurig bestand doorstuurde en daar savede.

Da is toch een heel ander principe aangezien het geen willekeurige data is die verstuurd moet worden maar javaobjecten (strings, arrays) en deze niet definitef gesaved moeten worden (enkel in cache terwijl prog runt)

Maar ik heb dus echt geen idee waar ik dit zou kunnen vinden (google hielp nie echt, maart kwist ook nie echt op wa gezocht)

Greetz

UniKorn

Legacy Member
In theorie:

Serverapplication : zendt en ontvangt messages
Client : zendt en ontvangt messages, en vertaalt ontvangen messages in gamecode.

bv in tetrinet:

gamer x: pijltje omloaag
client x: beweeg blokje omloaag
client x: bericht naar server blokje 1 omlaag
server: zendt naar alle clients blokje van client x gaat 1 omlaag
client y: beweeg blokje client x omlaag
client z: beweeg blokje client x omlaag

En qua classes weet ik niet echt wat je moet gebruiken, de naam zal wel iets met sockets zijn.

Kn0t

Legacy Member
Om aan java networking te beginnen heb je best volgende zaken al onder de knie:
- multithreading
- files and streams

Je hebt een multithreaded server, die een ServerSocket opstart. Per connectie die die ServerSocket ontvangt, start je best een nieuwe thread die de verdere communicatie met die client zal afhandelen. Die communicatie gebeurt adhv een Socket object. Je kan van een Socket object de in- en outputstreams opvragen, en vervolgens kan je daar objecten naartoe schrijven en van lezen, gelijkaardig aan het schrijven en lezen naar/van een bestand.

Hale

Legacy Member
erm ... of gebruik gewoon java rmi ( remote method invocation ) ipv alles low level te willen doen.

zoek is op rmi, remote interface, serializable enzo op google en je zal wel wat vinden.

in het kort komt het erop neer dat ge objecten maakt die een interface implementeren die overerft van de interface remote. de methodes die in die interface staan kunnen ( rarara ) van op een andere machine worden opgeroepen, waardoor uw object een remote object wordt.
er komt natuurlijk wel iets meer bij kijken ( bv het registreren van uw remote object bij een (lokale) naam-service enzo, kwestie dat de andere pc's ook een referentie naar uw remote object kunnen bemachtigen ).
kortom :
java biedt daar erg goeie middleware voor zodat ge ni zelf me tcp of udp moet beginnen kloten
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan