Announcement

Collapse
No announcement yet.

Probleme mit Threads im Netzwerk

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Threads im Netzwerk

    Hallo Leute,
    ich hab ein Problem mit Java. Und zwar programmiere ich derzeit für ein einfaches Computerspiel einen Multithreaded Server. Soweit läuft auch alles ganz gut, jedoch habe ich nun ein Problem mit dem Thread.Sleep(1), nachdem der aktuelle input leer ist. Und zwar kann ich entweder sleep() ausführen lassen und somit etwa jede 2. Nachricht verpassen, die der Server (genauso beim Clienten) erhält (bei einem Abstand zwischen den Nachrichten von ca. 200ms)- oder Thread.sleep(1) ganz weglassen und mein System somit ziemlich überlasten, was sich als nicht akzeptabel rausgestellt hat.
    Danke schonmal im Vorraus für die Hilfe, ich bin übrigens auch unter holgercde_at_yahoo.de erreichbar.
    Code:
    //dies ist der Inhalt des dauerhaft durchlaufenden Empfangsthreads
    //weiter oben steht:
    // private InputStream input = clientSocket.getInputStream();
    try {
    while (connected && !input.equals(null))
    {
    String msg = "";
    while(input.available() > 0)
    {
    char current = (char) input.read();
    msg += current;
    if (current == limiter1)
    {
    read(msg);
    input.skip((long) input.available());
    }
    }
    
    Thread.sleep(1);
    }
    } catch (Exception e) { e.printStackTrace(); }
    //Codeende
    Edit: Ich habe die Client-Server Anbindung mal wesentlich vereinfacht und das Problem besteht immer noch! Meine Frage ist nun grundsätzlich, wie kann ich eine Netzwerkverbindung über die eine große Menge an Daten läuft, parallel zu einem Prozess ausführen, der viele Ressourcen verbraucht, ohne dass Teile der übertragenen Daten nicht ankommen?
    Zuletzt editiert von Christian Marquardt; 07.11.2021, 14:23.
Working...
X