Netzwerkprogrammierung unter JAVA

paulianer

HWLuxx SC2-Cup2 Silber#1
Thread Starter
Mitglied seit
17.01.2008
Beiträge
8.138
Ort
dark side of the sun
Hey!


Sitze gerade von der Uni aus an einem Programmierprojekt. Wir sollen das Kartenspiel SET! in ein Java-Programm gießen welches mit bis zu 8 Leuten über ein lokales Netzwerk spielbar ist. Gerüchteweise sollen die Anforderungen später auf "spielbar über Internet" erweitert werden.


Gut, in meiner Gruppe habe ich den Part der Netzwerkprogrammierung übernommen und dazu ein paar Fragen an erfahrenere Programmierer.


Mein Problem besteht darin, dass ich nicht ganz weiß, wie genau ich da heran gehen soll.

Bis jetzt habe ich ein Server-Objekt programmiert, welches bei eingehender Verbindungen auf dem StreamSocket einen Thread erzeugt und dem Clienten über den Socket ein Objekt übergibt.

Das funktioniert auch wunderbar, sowohl auf dem PC selbst als auch über's LAN vom PC auf das MacBook.

Wie geht's nun weiter?

Geplant habe ich das Ganze ungefähr so:
1) Server gestartet
2) Client 1 meldet sich über den Port "1" an.
3) Server erstellt für den Clienten 1 einen eigenen Socket auf Port "2".
4) Client 2 meldet sich über den Port "1" an
5) Server erstellt für den Clienten 2 einen eigenen Socket auf Port "3".
6) usw.


Ist das sinnvoll? Erscheint mir nach einer ganzen Menge an Sockets.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Also ich würde bei 8 Spielern für jeden Spieler einen eigenen Socket und nen eigenen Thread spendieren.
Dann dort jeweils auf die Eingaben warten oder Gegebenenfalls blockieren, falls man noch nicht and er Reihe ist. Falls man dran ist, benachrichtigen und warten.
Dann das Spiel beim nächstes Spieler usw.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh