| |
VB & Windows APIWinsock POP3-Protokoll "Hänger" | | | Autor: DustyD. | Datum: 27.10.23 15:55 |
| EDIT: Hoppla, falsches Forum... hab's nach "Einsteiger" verschoben:
https://www.vbarchiv.net/forum/id2_i143961t143961_winsock-pop3-protokoll-haenger.html
Beitrag wurde zuletzt am 27.10.23 um 16:00:00 editiert. | |
Re: Winsock POP3-Protokoll "Hänger" | | | Autor: DustyD. | Datum: 27.10.23 21:03 |
| Hallo Martoeng,
danke für die schnelle Antwort. Ich hab's grad mal mit und ohne winsock1.localport = 0 probiert, hat aber leider nichts am Ergebnis geändert.
Auf der Suche nach einer Lösung bin ich auch auf diesen Beitrag gestoßen:
https://www.vbarchiv.net/api/details.php?id=closesocket
Allerdings müsste ich dann viel "Handarbeit" machen, die mir Winsock ansonsten abnimmt, oder? | |
Re: Winsock POP3-Protokoll "Hänger" | | | Autor: DustyD. | Datum: 30.10.23 17:35 |
| Ich bin noch am Testen, habe aber den blöden Verdacht, dass es an dem QUIT liegt, das ich an den Server sende: Ich habe die einzelnen Funktionen meines Moduls nun auf 2 Winsockets verteilt, einen benutze ich für das Löschen der Mails, darüber sende ich nur die DELE- und den QUIT-Befehl, über den anderen mache ich den Rest (STAT, LIST, RETR). Diesen anderen kann ich so oft öffnen und schließen, wie ich mag, funktioniert problemlos. Ich habe so ein wenig den Verdacht, dass Winsock es nicht mag, wenn die Verbindung von der Gegenstelle getrennt wird, aber das muss ich wie gesagt noch testen. | |
Re: Winsock POP3-Protokoll "Hänger" | | | Autor: DustyD. | Datum: 30.10.23 19:55 |
| Nope, daran liegt es leider auch nicht. | |
Re: Winsock POP3-Protokoll "Hänger" | | | Autor: DustyD. | Datum: 30.10.23 20:08 |
| Problem mit der Übertragung schließe ich eigentlich aus. Ich setze im SendComplete-Event ein Flag und frage im DataArrival-Event die Meldungen des Servers ab. Die gebe ich dann mit debug.print aus - sieht alles exakt so aus, wie wenn ich es per Telnet "von Hand" mache. Außerdem funktioniert es beim 1. Aufruf ja problemlos. Erst wenn ich den Socket mit winsock2.close schließe und mich neu verbinden möchte, bleibt der Winsock.state auf "6" und eine neue Verbindung kann nicht etabliert werden - bis ich das Programm einmal schließe und neu öffne (sowohl in der IDE als auch im Kompilat). | |
Re: Winsock POP3-Protokoll "Hänger" | | | Autor: sv00010 | Datum: 21.11.23 08:04 |
| Wurde das Handle der Verbindung auch wirklich richtig geschlossen? | |
Re: Winsock POP3-Protokoll "Hänger" | | | Autor: DustyD. | Datum: 21.11.23 10:12 |
| Nachdem der Server seinerseits die Verbindung nach dem "QUIT"-Befehl schließt, steht der Winsock.State auf 8 (Remote hat Verbindung getrennt). Dann habe ich die Verbindung mit Winsock.close geschlossen, danach ist der State 0 (Verbindung geschlossen). Bei einem erneuten Aufbau der Verbindung blieb der State bei 6 (Verbindung wird aufgebaut) "hängen", es kam keine erneute Verbindung (State 7) zustande - egal, wie lange ich gewartet habe. Habe ich das Programm geschlossen (egal ob kompiliert oder aus IDE heraus) und neu geöffnet, konnte ich wieder exakt 1x Mails löschen, bevor das oben geschilderte Verhalten erneut auftrat.
Die Meldungen des Servers habe ich mir im Direktfenster ausgeben lassen, da kam alles exakt so an, wie ich es auch "von Hand" mit Telnet getestet hatte.
So, und das Ganze schreibe ich in der Vergangenheitsform, weil es "plötzlich" funktioniert. Ich habe ein wenig den Mailserver im Verdacht, denn wenn ich zu oft in zu kurzer Zeit Verbindungsversuche mache, blockiert der Server offenbar auch für mehrere Minuten den Zugriff (habe ich jetzt nicht mit unterschiedlichen öffentlichen IPs getestet). Dann kann ich auch nicht mit einem Mailclient auf das Postfach zugreifen, bis es dann irgendwann wieder geht. Allerdings habe ich in der Zwischenzeit auch noch den Code weiter geändert und optimiert, sodass ich die genaue Ursache leider nicht mehr nachvollziehen kann. Was ich nach wie vor nicht verstehe ist, warum es nach dem Neustart des Programms direkt wieder funktionierte, war mir dann aber irgendwann auch egal, weil "never change a working system". | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere Infos
|