sockopt



  • Hallo,

    mich möchte meine rev funktion sagen das sie nur 2 sekunden warten soll..
    also möchte ich die socket option SO_REVTIMEO setzten.. leider bekomm ich da snicht hin..

    hab versucht:

    struct timeval topt;
    			topt.tv_sec=2;
    			size_t  pe_len;
    			int pe=0;
    			int level;
    			int name;
    			int urg;
    
    			urg= getsockopt(it->sd,level,name, &pe,&pe_len);
         		urg= setsockopt(it->sd,level,name, &timeout, sizeof(timeout));
    

    das getsockopt denk ich muss ich verwenden da ich die andern parameter ja nicht ändern möchte..

    dabei bekomm ich folgende fehler:
    Fehler 2 error C2664: 'getsockopt': Konvertierung des Parameters 4 von 'int *' in 'char *' nicht möglich
    Fehler 3 error C2664: 'setsockopt': Konvertierung des Parameters 4 von 'timeval *' in 'const char *' nicht möglich



  • Was gibt es denn an dieser Fehlermeldung nicht zu verstehen? Die Funktionen erwarten als vierten Parameter einen char* und keinen int* (&pe) bzw. timeval* (&timeout). Und in den Dokumentationen sollte eigentlich auch drinstehen, wie du ihnen ihre Daten aufbereiten mußt.


Anmelden zum Antworten