accept() benimmt sich seltsam!



  • Ich schreibe zur zeit eine Simple client-server Anwenung in C++ (neu. Habe es paar mal in C gemacht, aber will nun objektorientiert in C++ machen)
    Nun benimmt sich accept() sehr sehr seltsam!

    socklen_t	len;
    newsock	= accept(sock , (struct sockaddr*)&client_address , &len);
    if (newsock < 0)
    errmsg("couldn't accept");
    

    Das Programm lauscht an einem Port ( port > 1024 ) und wenn ich mich mit einer client-Anwendung zu diesem Port verbinde, so gibt die Funktion accept() den Wert -1 zurück.

    nachdem ich den cdoe folgendermaßen abgeändert habe, funktionierte es:

    socklen_t	len;
    newsock	= accept(sock , (struct sockaddr*)&client_address , &len);
    std::cout<<"sock: "<<sock<<" newsock: "<<newsock<<std::endl;
    if (newsock < 0)
    errmsg("couldn't accept");
    

    Sprich: Ich habe gerade mal "std::cout<<"sock: "<<sock<<" newsock: "<<newsock<<std::endl;" hinzugefügt!

    Dies dürfte aber eigentlich accept() nicht beeinflussen!

    Verzeihen sie die Wortwahl, aber langsam fühle ich mich (von accept) verarscht! 😞

    Kennt jemand dieses problem?

    MfG, der der ein problem mit accept() hat.



  • socklen_t    len = sizeof(client_address);
    


  • a schrieb:

    socklen_t    len = sizeof(client_address);
    

    thx


Anmelden zum Antworten