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.