Descriptor übergeben



  • Hi,

    ich habe eine Frage zur Übergabe bzw Handhabung von Descriptoren, in meinem Fall eines Sockets.

    im Moment sieht meine Vorgehensweise so aus:

    int foo(SOCKET sock){
      // erledige Sachen zB senden
    return sock;
    }
    
    int main(){
    
    SOCKET sock;
    
    sock=foo(sock); 
    sock=foo(sock);
    return 1;
    }
    

    Die Handhabe ist irgendwie sehr umständlich mit den Rückgabewerten. Wie übergibt man sowas sonst, call by reference? also SOCKET *sock in jeder Funktion?

    Gruß



  • SOCKETs, sowie andere Handles, sind nur Identifizierungsnummern, ähnlich wie Speicher-Adressen. Die Resources liegen versteckt im Speicher und werden über Aufrufe spezieller Funktionen mit der zugehörigen ID manipuliert.
    Du kannst deinen SOCKET also einfach kopieren, dessen Wert ändert sich ohnehin nicht.


Log in to reply