DeRal
Grünschnabel
Hi,
ich soll für die Uni einen POP3-"Sammeldienst" schreiben. Das einsammeln der Mails von den unterschiedlichen Servern klappt auch schon bestens, allerdings funktioniert das Bereitstellen der Mails (die Serverfunktion des Programms) nicht.
Wenn ich versuche, die Mails mit Thunderbird abzurufen, sprechen Client und Server zwar anfangs miteinander, allerdings geht es nach dem Verbindungsaufbau nicht weiter.
Im Anhang ist ein Bild wie die Kommunikation läuft. Eigentlich müsste es nach dem "+OK Hi!" mit dem Login - oder zumindest irgendeinem anderen Befehl, vom Client aus - weitergehen.
Der zuständige Code sieht so aus:
Da Thunderbird ja mit anderen POP3-Servern problemlos kommuniziert, vermute ich das Problem irgendwo im Programm, allerdings hab ich keine Idee wo...
Hat jemand ne Idee, wo das Problem liegen könnte?
ich soll für die Uni einen POP3-"Sammeldienst" schreiben. Das einsammeln der Mails von den unterschiedlichen Servern klappt auch schon bestens, allerdings funktioniert das Bereitstellen der Mails (die Serverfunktion des Programms) nicht.
Wenn ich versuche, die Mails mit Thunderbird abzurufen, sprechen Client und Server zwar anfangs miteinander, allerdings geht es nach dem Verbindungsaufbau nicht weiter.
Im Anhang ist ein Bild wie die Kommunikation läuft. Eigentlich müsste es nach dem "+OK Hi!" mit dem Login - oder zumindest irgendeinem anderen Befehl, vom Client aus - weitergehen.
Der zuständige Code sieht so aus:
Code:
public ServerThread(Socket client, Server parent){
this.client = client;
DateFormat df = new SimpleDateFormat("dd-MM-yy_hh-mm-ss");
this.parent = parent;
System.out.println("ServerThread gestartet für: "+client.toString());
try {
readClient = new BufferedReader(new InputStreamReader(client.getInputStream()));
writeClient = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
fw = new FileWriter(df.format(new Date())+"_ServerLog.txt");
logger = new BufferedWriter(fw);
} catch (IOException e) {
e.printStackTrace();
}
}
public void commOut(String text) throws IOException{
writeClient.write(text);
writeClient.flush();
System.out.println(text);
logger.write(text);
}
public String commIn() throws IOException{
String in = readClient.readLine();
System.out.println(in);
logger.write(in);
return in;
}
@Override
public void run() {
// Mails zur Verfügung stellen
System.out.println("run beginnt");
while(running){
try {
// Anfrage annehmen
commOut("+OK Hi!");
String request = commIn();
System.out.println(request);
String[] commands = request.split(" ");
String command = commands[0].toUpperCase();
// Befehle verarbeiten...
Da Thunderbird ja mit anderen POP3-Servern problemlos kommuniziert, vermute ich das Problem irgendwo im Programm, allerdings hab ich keine Idee wo...
Hat jemand ne Idee, wo das Problem liegen könnte?