Sockets



  • Wahrscheinlich bin ich jetzt hier wieder nicht richtig aber trotzdem:

    Ich schreib grad ein kleine Programm, das Mails per SMTP versenden soll. Das ganze geht über (wx-)Sockets. Ich frag mich aber, wie ich erkennen soll, wie lang der String ist, den der Server gesendet hat. Gibts da irgendein Stoppbit oder muss ich den Lese-Puffer nach jedem Befehl auf 0 löschen?



  • Mit dem SMTP Protokoll kenne ich mich nicht aus, aber wenn ich http-Anfragen über ein Socket schicke, dann wird für die Antwort der Lesepuffer in einer Schleife immer wieder neu beschrieben. D.h. ich muss dafür sorgen, das der Inhalt entweder in eine Datei oder einen anderen Puffer zwischengespeichert wird.
    Der Server sendet dann so lange, bis die Anzahl der empfangenen Bytes = 0 ist, dann bricht die Schleife ab.

    Gruß,
    p.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Hm, ist wohl besser du versuchst es mal mit wxSMTP.
    Damit müsstest du deine Mails verschicken können.

    Evtl. findest du auch eine Antwort in der Sockets FAQ:
    http://wxforum.shadonet.com/viewtopic.php?t=2736



  • phlox81 schrieb:

    Hm, ist wohl besser du versuchst es mal mit wxSMTP.
    Damit müsstest du deine Mails verschicken können.

    Evtl. findest du auch eine Antwort in der Sockets FAQ:
    http://wxforum.shadonet.com/viewtopic.php?t=2736

    Ne oder? wxSMTP - das is jetzt ein schlechter Witz oder? Warum schreib ich dann erst meinen eigenen Base64 Konverter und lern dann auch noch das Protokoll, wenn's alles schon fertig gibt? *grummel*

    Ansonsten danke für die Antworten. 😉

    Und zum eigentlichen Problem: Das hier hab ich in der Manual von wxWidgets gefunden. (ok, vorher nachschaun, ich weiß)

    wxWidgets schrieb:

    wxUint32 LastCount() const

    Returns the number of bytes read or written by the last IO call.

    Use this function to get the number of bytes actually transferred after using one of the following IO calls: Discard, Peek, Read, ReadMsg, Unread, Write, WriteMsg.

    Leider scheint's da auch einen Hacken zu geben, siehe den 2. Thread von mir, den ich leider aufgemacht hab. (@phlox81: kann man die beiden irgendwie aneinander kleben?)

    PS: sorry, dass ich so spät geantwortet hab, aber ich hatte einfach keine Zeit


  • Mod

    Hm, ne. aber ich schliess diesen Thread hier einfach mal.


Anmelden zum Antworten