tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
290
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Death Overlord Death Overlord ist offline Mitglied Bronze
    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;
            }
        }
     

  2. #2
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    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)
    Angehängte Dateien Angehängte Dateien
     
    Mein kleiner webstart Projektplaner:
    http://178.77.101.236/ppws/
    Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.

    Danke. :)

  3. #3
    Death Overlord Death Overlord ist offline Mitglied Bronze
    Registriert seit
    Dec 2009
    Beiträge
    25
    Wenn ich dein jar-File öffnen will kommt immer nur follgende Fehlermeldung.

     

  4. #4
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    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

  1. Antworten: 1
    Letzter Beitrag: 26.07.10, 16:28
  2. Was passiert bei der Pufferung von Animationen?
    Von Death Overlord im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 05.07.10, 00:10
  3. Pufferung bei Videos auf eigener HP
    Von motty im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 22.11.05, 18:55
  4. Pufferung bei Videos auf eigener HP
    Von motty im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 14.11.05, 17:23
  5. Pufferung in eine Datei schreiben
    Von Marco Witter im Forum Java
    Antworten: 8
    Letzter Beitrag: 05.03.04, 15:50