Sockets unter Linux
-
Hallo,
ich habe ein Problem mit Sockets unter Linux.
Ich bin nach folgendem Guide vorgegangen:
http://www.techpowerup.com/forums/threads/c-c-sockets-faq-and-how-to-win-linux.56901/Bis Accepting a connection funktioniert alles. Aber dann bekomm ich folgenden Fehler:
error: argument of type "int *" is incompatible with parameter of type "socklen_t={__socklen_t={unsigned int}} *"
thisSocket = accept(thisSocket, (struct sockaddr *)&clientAddress, (int &clientSize);Hat jemand eine Lösung?
-
Bitte vollständige Informationen zu deinem Problem liefern. Das ist erst mal ein Compilefehler. Da gehört Sourcecode dazu. Wie wäre es, wenn Du uns den zeigst? Dann können wir den mal anschauen.
-
Das ist halt das Problem, wenn inkompetente Dummköpfe Tutorials schreiben. ClientSize muss vom Typ socklen_t sein.
-
Es steht auch in der Fehlermeldung das socklen_t* erwartet wird.
-
Deshalb lieber die man-pages nutzen. Da steht es richtig drin. Meist sogar mit verständlichen Beispiel-Codes.
-
Unter Windows gibts die accept Funktion auch. Dort isses ein int. Daher dann wohl auch die Verwirrung.
Also. Auch wenn unter Windows viele ähnliche Funktionen zu finden sind, sind diese eben doch nur ähnlich.
-
simbad schrieb:
Unter Windows gibts die accept Funktion auch. Dort isses ein int. Daher dann wohl auch die Verwirrung.
Also. Auch wenn unter Windows viele ähnliche Funktionen zu finden sind, sind diese eben doch nur ähnlich.
Und wenn man ein "C/C++ Sockets FAQ and How-To Win+Linux" schreibt, sollte einem das auch auffallen.
Aber der Code ist ja auch sonst ziemlich übel ...