Netzwerk - Problem mit Accept befehlt!
-
Hallo Leute!
Ich versuche mich gerade in der Netzwerkprogrammierung. Einen kleinen client habe ich schon geschrieben, der nimmt auch problemlos kontakt zu servern auf.
Nun will ich eine Server applikation schreiben, nur macht mir der accept befehl probleme... ich habe ihn so:... struct sockaddr_in remote_host; ... int addrlen = sizeof(addr); ... int sock, len, sock2; ... sock2 = accept (sock, (struct sockaddr *)&remote_host, &addrlen);
Das aufbauen des Sockets klappt, bind und listen werden zuvor auch problemlos ausgeführt.
Bei Accept müsste er ja eigentlich warten bis jemand connected, stattdessen ist sock2 aber immer -1 (also fehlerhaft) weiß aber nicht was ich falsch mache
Nach ausgiebiger suche bei google.de und der foren suche habe ich auch nichts gefunden
Hoffe ihr könnt mir helfenMfG
Jannis
-
Ist bei den "..." irgendwo ein Aufruf von listen dabei? Der sollte vor accept stattfinden.
-
WSAGetLastError
-
ICh bedanke mich bei allen die mir helfen wollten, der fehler liegt beim addr welches ein falscher datentyp ist!
es war unsigned long, müsste aber eine Struktur sein!
Also, please CloseEDIT:
villeicht kann mir ja jemand sagen wie ich aus server.sin_port = htons(port);
wieder den richtigen port bekomme.... also, ich möchte htons rückgängig machen!
-
tracer/ schrieb:
also, ich möchte htons rückgängig machen!
Nochmal htons.