Huhu..
Ich hab da irgendwie ein kleines Problemchen...
Ich bin derzeit dabei, eine Server/Clientarchitektur zu erstellen.
Ich habe in der Run-Methode eine while-Schleife erstellt und lese dort die verfügbaren Bytes aus.
Kurios ist, dass wenn ich zwei mal den Clienten öffne und diese verbunden sind, alles aufeinmal anfängt zu laggen. Der ganze Rechner wird lahm...
Ich denke mal dass es nur hierran liegen kann... Kann des sein, dass read irgendwie blockt und ich dies in einem Thread auslagern muss?
Ich hab da irgendwie ein kleines Problemchen...
Ich bin derzeit dabei, eine Server/Clientarchitektur zu erstellen.
Ich habe in der Run-Methode eine while-Schleife erstellt und lese dort die verfügbaren Bytes aus.
Kurios ist, dass wenn ich zwei mal den Clienten öffne und diese verbunden sind, alles aufeinmal anfängt zu laggen. Der ganze Rechner wird lahm...
Java:
public void run() {
while(true) {
int length;
try {
length = stream_input.available();
if(length != 0 && length != -1) {
byte[] bytes = new byte[(int) length];
stream_input.read(bytes, 0, bytes.length);
if(bytes.length != 0 && bytes.length != -1) {
System.out.println("Read Bytes: " + bytes.length);
System.out.println(new String(bytes));
Server.send(new String(bytes));
}
}
} catch (IOException e) {
System.err.println("[ERROR] (run) :: " + e);
}
}
}
Ich denke mal dass es nur hierran liegen kann... Kann des sein, dass read irgendwie blockt und ich dies in einem Thread auslagern muss?