E
Exavier
Gast
Hallo liebes Forum,
wir müssen für die Uni einen Mail-Client schreiben, der vorerst nur abrufen soll. Und zwar eine beliebige Mail von einem beliebigen Account.
Ich habe neben main prozedur noch diveres andere für anmelden, abholen, löschen, statusabfrage und schliessen etc... das heisst, dass ich nach der Anmeldung die Sockets erstmal nicht schliesse und der User entscheiden kann wie er weitermachen möchte.
Mein Problem besteht darin, dass ich in der Anmeldung folgen Code-Schnipsel nicht verwenden kann:
Da ich ja von dem Server-Buffer laufend Lesen möchte, solang ich noch etwas bekomme. Nur wartet die Methode readLine() leider so lang, bis vom Server nen Zeilenumbruch kommt. Da ich haber nichts mehr sende kommt auch nichts mehr, und da hört das progrämmchen auch schon auf zu arbeiten.
Wie kann ich es ohne nen Timeout lösen, dass er nachdem ich vom Buffer alles gelesen habe was da ist das Programm einfach weitermacht?
Timeout aus dem Grund nicht, da es pro Verbindung und Rechner zu untrerschiedliche Zeiten sein können.
mfg
exa
PS: habs in keinem anderen forum geschrieben.
wir müssen für die Uni einen Mail-Client schreiben, der vorerst nur abrufen soll. Und zwar eine beliebige Mail von einem beliebigen Account.
Ich habe neben main prozedur noch diveres andere für anmelden, abholen, löschen, statusabfrage und schliessen etc... das heisst, dass ich nach der Anmeldung die Sockets erstmal nicht schliesse und der User entscheiden kann wie er weitermachen möchte.
Mein Problem besteht darin, dass ich in der Anmeldung folgen Code-Schnipsel nicht verwenden kann:
Code:
while ((responseLine = inputstream.readLine()) != null) {
System.out.println("Server: "+responseLine);
System.out.println(responseLine.startsWith("+OK"));
if (responseLine.startsWith("+OK")){
korrekt=true;
}
if (responseLine.indexOf("222") != -1) {
break;
}
}
Da ich ja von dem Server-Buffer laufend Lesen möchte, solang ich noch etwas bekomme. Nur wartet die Methode readLine() leider so lang, bis vom Server nen Zeilenumbruch kommt. Da ich haber nichts mehr sende kommt auch nichts mehr, und da hört das progrämmchen auch schon auf zu arbeiten.
Wie kann ich es ohne nen Timeout lösen, dass er nachdem ich vom Buffer alles gelesen habe was da ist das Programm einfach weitermacht?
Timeout aus dem Grund nicht, da es pro Verbindung und Rechner zu untrerschiedliche Zeiten sein können.
mfg
exa
PS: habs in keinem anderen forum geschrieben.