Hallo Leute,
also ich hab in Java ein kleines Netzwerkspiel programmiert. Dabei hab ich beim Testen immer Server und Client auf den gleichen Rechner laufen lassen und immer über localhost verbunden. Bei diesen Tests funktionierte das Spiel einwandfrei. Werden Server und Client aber auf verschiedenen PCs ausgeführt, ruckelt der Client stark.
Hier mal eine kurze Übersicht wie alles Abläuft:
Der Server startet für jeden client (Anzahl vorher eingeben) einen Thread sobald dieser connected.
Sind alle Clients verbunden, startet auf dem Server im Hauptthread das Spiel.
Die nötigen Daten werden über DataInputStreams und DataOutputstreams übertragen vom jeweiligen Thread aus übertragen.
Der client hat keine extra Threads, er sendet regelmäßig bestimmte Tastertureingaben zum Server und ließt die ankommenden Daten, dazwischen aktualisiert er seine Spielwelt.
Ich würd gerne rausfinden, woher dieses ruckeln kommt.
Da es über localhost ohne Probleme läuft müsste doch irgendwas bei der Datenübertragung schief laufen. (vermut ich mal)
Kann mir wer erklären wie sich eine richtige Netzwerkverbindung im Gegensatz zur localhost Verbindung auf das Programm auswirkt?
Kann es sein, dass ich die Streams vieleicht puffern muss?
Ich hoffe mir kann geholfen werden.
mfg Andi
also ich hab in Java ein kleines Netzwerkspiel programmiert. Dabei hab ich beim Testen immer Server und Client auf den gleichen Rechner laufen lassen und immer über localhost verbunden. Bei diesen Tests funktionierte das Spiel einwandfrei. Werden Server und Client aber auf verschiedenen PCs ausgeführt, ruckelt der Client stark.
Hier mal eine kurze Übersicht wie alles Abläuft:
Der Server startet für jeden client (Anzahl vorher eingeben) einen Thread sobald dieser connected.
Sind alle Clients verbunden, startet auf dem Server im Hauptthread das Spiel.
Die nötigen Daten werden über DataInputStreams und DataOutputstreams übertragen vom jeweiligen Thread aus übertragen.
Der client hat keine extra Threads, er sendet regelmäßig bestimmte Tastertureingaben zum Server und ließt die ankommenden Daten, dazwischen aktualisiert er seine Spielwelt.
Ich würd gerne rausfinden, woher dieses ruckeln kommt.
Da es über localhost ohne Probleme läuft müsste doch irgendwas bei der Datenübertragung schief laufen. (vermut ich mal)
Kann mir wer erklären wie sich eine richtige Netzwerkverbindung im Gegensatz zur localhost Verbindung auf das Programm auswirkt?
Kann es sein, dass ich die Streams vieleicht puffern muss?
Ich hoffe mir kann geholfen werden.
mfg Andi