Network Stream auslesen

kodak

Mitglied
Hi Leute

ich nutze VB2003 mit .net 1.1
Das Problem welches ich schon seit einiger Zeit zu lösen versuche handelt um das Auslesen eines Networkstreams, genauer eines POPs.
Um Mails abzurufen schreibe ich die Anmeldedaten in den Stream und erhalte aus dem Stream die Rückgabe des Servers. Dafür nutze ich folgende Schleife:

Code:
        Thread.Sleep(500)
        Do While datenStrom.Peek() >= 0
            Do While datenStrom.Peek() >= 0
                Dim ausgabe As String = datenStrom.ReadLine
                puffer.Append(ausgabe & vbCrLf)
            Loop
            Thread.Sleep(500)
        Loop

datenStrom ist ein StreamReader Objekt auf meinem Networkstream, allerdings hab ich das Problem, dass die per "RETR n" abgerufenen Mails selten vollständig ankommen. Ich habe schon überlegt erst aufzuhören zu lesen sobals ich den Einzelpunkt als Abschlusszeichen erhalte, aber das wäre nur ein umgehen des eigendlichen Problems.

Habe ich evtl irgendetwas übersehen oder könnt Ihr mir weiterhelfen?
Per Socket funktioniert das Auslesen wunderbar, ist aber etwas langsamer.

PS: Abfragen, die nur eine Zeile lang sind klappen meistens wunderbar, aber bei ca 300 bis 600 kb, manchmal schon ab 90kb bekomme ich einen peek=-1, obwohl ich zum Teil den Thread für 1000ms anhalte. Was könnte der Fehler sein?

Vielen Dank
Kodak
 
Zurück