ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
290
290
EMPFEHLEN
-
15.06.10 21:17 #1
- Registriert seit
- Dec 2009
- Beiträge
- 25
Hi, ich habe ein Spiel programmiert für das ich jetzt noch einen Multiplayermodus über LAN machen will. Ich habe dazu eine Application (Server) die mehrere Threads hat in denen Variablen von den Spielapplicationen empfangen und an die anderen Spieler zurück geschickt werden. Das funktioniert auch alles gut so, aber leider meistends nicht flüssig sondern nur mit sehr starken Rucklern.
Mein Lehrer hat mir gesagt dass ich die Daten puffern muss die ich verschicke.
Ich hab mir jetzt ein paar Sachen durchgelesen. In den Texten hieß es dass ich die Methode flush() benutzen soll, aber ich märke keinen unterschied.
Muss man die Methode flush() eigendlich nur einmal ausführen und kann dann ewig Daten verschiecken?
Hier ein Stück meines Quellcodes:
Code :1 2 3 4 5 6
... server = new Socket(sServerIP,iPort); in = new Scanner( server.getInputStream() ); out = new PrintWriter( server.getOutputStream(), true ); out.flush(); ...
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
public void xy (int outX, int outY) { out.println(outX); out.println(outY); switch(inSpieleranzahl) { case 4: inXy[3] = new Point2D.Double(Double.parseDouble(in.nextLine()),Double.parseDouble(in.nextLine())); case 3: inXy[2] = new Point2D.Double(Double.parseDouble(in.nextLine()),Double.parseDouble(in.nextLine())); case 2: inXy[1] = new Point2D.Double(Double.parseDouble(in.nextLine()),Double.parseDouble(in.nextLine())); case 1: inXy[0] = new Point2D.Double(Double.parseDouble(in.nextLine()),Double.parseDouble(in.nextLine())); break; } }
-
15.06.10 21:53 #2
Flush sorgt dafür, das wirklich ALLE Daten gesendet werden.
Schau dir mal den Anhang an. Ist zwar nur teilweiße durchkommentiert, könnte dir aber eine menge Arbeit abnehmen. (Source liegt bei)Mein kleiner webstart Projektplaner:
http://178.77.101.236/ppws/
Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.
Danke. :)
-
15.06.10 22:36 #3
- Registriert seit
- Dec 2009
- Beiträge
- 25
Wenn ich dein jar-File öffnen will kommt immer nur follgende Fehlermeldung.
-
15.06.10 22:39 #4
Du sollst sie nicht mit java/-w ausführen, sondern im ClassPath einbinden. (bzw. mit einen Dekompressionsprogramm wie WinRar oder 7zip öffnen und die Dateien einzeln ins Projekt kopieren, deine Entscheidung.)
Mein kleiner webstart Projektplaner:
http://178.77.101.236/ppws/
Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.
Danke. :)
Ähnliche Themen
-
ObjectInput/OutputStream + BufferedInput/OutputStream über Socket
Von superomega im Forum Java GrundlagenAntworten: 1Letzter Beitrag: 26.07.10, 16:28 -
Was passiert bei der Pufferung von Animationen?
Von Death Overlord im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 05.07.10, 00:10 -
Pufferung bei Videos auf eigener HP
Von motty im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 22.11.05, 18:55 -
Pufferung bei Videos auf eigener HP
Von motty im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 14.11.05, 17:23 -
Pufferung in eine Datei schreiben
Von Marco Witter im Forum JavaAntworten: 8Letzter Beitrag: 05.03.04, 15:50





Zitieren
Login





