Howdy 
Ich arbeite schon längere Zeit an einem eigenen XMPP client und nutze zum lesen des Sockets einen BufferedReader. Da ich zeichenweise einlesen möchte und das anfänglich auch gleich so parse, habe ich ein
und lese mit der Funktion
byteweise in meinen Bufferarray.
Konkret sieht das also ungefär so aus:
Das merkwürdige ist, dass die Memberfkt. read(char[]) blockierend arbeiten soll, also sollte etwas in dem buffer stehen, liest sie das in das char[] und weiter geht's im Text.. Dabei steht der Rückgabewert danach auch in "test" als int interpretiert. Ist "test" nun == -1, sollte das das Stream Ende per Definition sein. Soweit alles klar, aber es passiert etwas ganz unvorhergesehenes: Nach vielen Stunden korrekter arbeitsweise, blockiert .read() nicht mehr korrekt, sondern löst sich und das mit test==-1, was ich mir nicht erklären kann!
Hat jemand eine Idee, was da vor sich geht?
lg
Ich arbeite schon längere Zeit an einem eigenen XMPP client und nutze zum lesen des Sockets einen BufferedReader. Da ich zeichenweise einlesen möchte und das anfänglich auch gleich so parse, habe ich ein
Java:
char[] buffer = char[1]
Java:
BufferedReader.read(buffer)
Konkret sieht das also ungefär so aus:
Java:
int test = 0;
char[] buffer = char[1];
test = reader.read(buffer);
Hat jemand eine Idee, was da vor sich geht?
lg