Winsock2 und SOCKET als return zurück geben lassen o.Ô
-
Hallo,
Ich versuch schon den ganzen Abend von einer Funktion SOCKET zurück geben zu lassen. Nur will es irgendwie nicht hinhauen auch nicht mit Zeigern ... muss man das als Parameter zurück geben? ... oder gibts ne einfache lösung und es ist einfach nur zu spät für mich

Danke für jede Antwort
NoQ
-
Meinst du http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/socket_2.asp?
-
Ja, genau das Ding meine ich. Hast du ne ahnung wie ich es zurück geben muss?
-
Was meinst du? Die Funktion gibt dir etwas zurück, nicht umgekehrt

Da sind doch Beispiele, schau dir die mal an.
-
Na ja, irgendwie ist es mir schon klar... nur versteh ich nicht warum er mir trotzdem um die ecke springt wenn ich das ergebnis der funktion zurück geben will o.Ô
Das ist der alte Code und ich versuch gerade den struct Connection in eine Class umzubauen nur leider hengt es an dem SOCKET irgendwie :-\ Ich könnte auch von außen direkt auf den socket zugreifen lassen, nur muss es nicht unbedingt sein.
struct Connection { Connection() { used=false; socket=INVALID_SOCKET; } void set(SOCKET s, SOCKADDR_IN addr) { this->socket=s; this->addr=addr; this->used=true; } void erase() { this->used=false; this->socket=INVALID_SOCKET; } bool used; // connection benutzt ? SOCKET socket; // socket SOCKADDR_IN addr; // client addr char name[20]; char password[20]; int status; }; // clients Connection clients[MAX_CLIENTS]; .... int sendToAllClients(char* msg) { int rc,i; for(i=0;i<MAX_CLIENTS;i++) { if(!clients[i].used) continue; rc=send(clients[i].socket,msg,strlen(msg),0); // Hier hab ich Typen kompatibilitätsprobleme ::) if(rc==SOCKET_ERROR) { cout << "Error: Sending to Client " << i << " failed: " << WSAGetLastError() << endl; } } return 0; }
-
Fehlermeldung? ...