Hallo,
ich habe vor, ein kleines Multiplayer-Onlinespiel auf der Basis von Applets als Clients und einem Server zu realisieren.
In Java bin ich eigentlich recht fit, jedoch habe ich noch nie mit Sockets gearbeitet. Wie ich einen ServerSocket öffne ist mir klar, auch das die Methode .accept() auf eingehende Requests wartet. Die Methode liefert nun einen Socket, über den per Input-/OutputStream gelesen bzw. geschrieben werden kann. Für EINEN Client ist das soweit alles klar.
Ich möchte jedoch natürlich mehrere Clients gleichzeitig mit dem Server verbinden. Ich habe in diesem Zusammenhang gelesen, daß man nun im Server für jeden Socket, den man per accept erhalten hat, einen neuen Thread öffnet.
Nun zu meinen Fragen:
1. Können also mehrere Sockets auf einem Port zur gleichen Zeit laufen?
2. Bleibt ein Socket während der gesamten Kommunikation mit einem Client bis zur Abmeldung offen, oder wird für jeden Request ein neuer geöfnet?
Ich hoffe, ihr könnt mir da bei meinem Verständnisproblem helfen.
ich habe vor, ein kleines Multiplayer-Onlinespiel auf der Basis von Applets als Clients und einem Server zu realisieren.
In Java bin ich eigentlich recht fit, jedoch habe ich noch nie mit Sockets gearbeitet. Wie ich einen ServerSocket öffne ist mir klar, auch das die Methode .accept() auf eingehende Requests wartet. Die Methode liefert nun einen Socket, über den per Input-/OutputStream gelesen bzw. geschrieben werden kann. Für EINEN Client ist das soweit alles klar.
Ich möchte jedoch natürlich mehrere Clients gleichzeitig mit dem Server verbinden. Ich habe in diesem Zusammenhang gelesen, daß man nun im Server für jeden Socket, den man per accept erhalten hat, einen neuen Thread öffnet.
Nun zu meinen Fragen:
1. Können also mehrere Sockets auf einem Port zur gleichen Zeit laufen?
2. Bleibt ein Socket während der gesamten Kommunikation mit einem Client bis zur Abmeldung offen, oder wird für jeden Request ein neuer geöfnet?
Ich hoffe, ihr könnt mir da bei meinem Verständnisproblem helfen.