anmeldung an pop server bricht ab



  • Also folgendes Problem wenn ich mich an dem gmx Server anmelden will also z.B USER XXX dann kommt nur noch der blinkende Cursor und irgendwann bricht der ab und gibt dass ganze nochmal aus warum???

    int main()
    {
        int a;
        long rc;
        SOCKADDR_IN addr;
        char*buffer=(char*)malloc(sizeof(char)*600);
        char*buffer1=(char*)malloc(sizeof(char)*400);
        char*buffer2=(char*)malloc(sizeof(char)*400);
        startWinsock();
        printf("Winsock gestartet!\n");
    
        SOCKET s;
        s=socket(AF_INET,SOCK_STREAM,0);
        printf("Socket erstellt!\n");
    
        memset(&addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten
        addr.sin_family=AF_INET;
        addr.sin_port=htons(110); // wir verwenden mal port 12345
        getAddrFromString("pop.web.de",&addr);
        rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
    
        if(rc==SOCKET_ERROR)
            {
            printf("Fehler: connect gescheitert, fehler code: %d\n",WSAGetLastError());
    
            }
    
        else
            {
            printf("Verbunden\n");
            }
    
        while(1)
        {
        recv(s,buffer,400,0); //1. Mal sendet +OK POP Server ready H miweb002
                               // 2. Mal empfängt nichts und bricht AB 
        cout<<buffer;
        scanf("%s %s",buffer1,buffer2); // z.B. USER XXXX
        sprintf(buffer,"%s %s",buffer1,buffer2);
        send(s,buffer,strlen(buffer),0);
    
        }
        cin>>a;
        return 0;
    
    }
    

    Schonmal Danke für eure Antworten 🙂 😃



  • "%s %s\r\n"
    


  • thx aber ich verstehe ni wieso dass jetz funktioniert?



  • Ist eben in der POP3 Spezifikation festgelegt das Befehle mit einem Zeilenumbruch beendet werden. Ohne so ein Trennzeichen könnte der Server gar nicht wissen ob dein Befehl schon zu Ende ist.



  • achso thx 😃 🙂


Anmelden zum Antworten