mailclient - receive
-
hi,
ich bin gerade dabei einen mail watcher (checkt mails, beep ton falls vorhanden) zu schreiben, hab nicht viel am hut mit socket programmierung und hab deshalb eine kleine frage zum receive.. ich habs bisher mit "recv(SOCKET s, char* buf, int len, int flags)" probiert und hat ansich auch geklappt, nur gibt der return wert der funktion halt eben nur die byteszahl zurueck und aus dem wert im buffererklaerung laut msdn "[out] The buffer for incoming data."
werde ich ebenso wenig schlau, da ich einen programm absturz bekomm wenn ich ihn per %s ausgeben will und bei %d krieg ich jediglich eine zahlenreihe ausgegeben. und wenn ich versuch den buffer direkt mit "+OK" oder "-ERR" (pop3 antworten vom server) zu vergleichen komm ich ebenso weiter, aber klappen muesste theoretisch alles.. also zumindest bis zur verbindung mim server keine fehler, weder per WSAGetLastError() noch als return value der verschiedenen funktionen.
wenn ich grad dabei bin, wuerd mich noch interessieren wie ich einen dns lookup durchfuehren kann, ich weiss das es per gethostbyname(bla blub blub) geht, jedoch bin ich mir nicht sicher obs geht da ich das mim receive nicht hinbekomm und von daher keine meldung vom server empfangen kann, aber angeblich sollte es funzen.. ich hab mir dazu mal die hilfe auf c-workers angeschaut (guckst du hier
) jedoch find ich es etwas shice erklaert, da ich nichtmal weiss warum ich z.b. die ersten 4 bytes in die addresse kopieren muss etc.
aber es geht anscheinend, jedoch ist es halt dumm.. weil ich nciht genau weiss warum es geht und ich will ja lernen
also ich hoffe ihr koennt mir helfen
mfg daniel
EDIT: Ok Jungs die Sache hat sich erledigt, ich bastel ganze 3 Tage lang rum und dabei hatte ich einen ganz beschissenen Fehler in der recv Funktion, bei der string laenge..
Ein Admin kann den Thread ja ruhig loeschen oder falls es jmd interessiert kann ich ein paar code snippets hier rein posten