Hilfe bei Client
-
Hallo und zwar habe ich mir einen kleinen FTP Client programmiert.
Doch leider habe ich ein kleines Probleme.
Und zwar will ich das folgendes Angezeigt wird:Verbindung zu xxxxx auf Port xxxx erfolgreich aufgebaut
Das ganze habe ich folgender Massen probiert:
printf ("Verbindung zu %d auf Port %d erfolgreich aufgebaut.\n",inet_addr(addr.sin_addr.s_addr),htons(addr.sin_port));Doch als ausgabe erhalte ich immer:
Verbindung zu -1 auf Port 21 erfolgreich aufgebaut.
Wo ist mein Fehler?
-
-
Bemerkung
Die Funktion inet_aton() gibt es nur unter UNIX, bei Windows muß man auf inet_addr() ausweichen.Ich habe Windows.
-.-
-
Hallo,
und so:
printf ("Verbindung zu %s auf Port %hu erfolgreich aufgebaut.\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));?
MfG,
Probe-Nutzer
-
Ok geht danke.

Aber das hier finde ich unnötig:
ntohs(addr.sin_port)Ich meine mit "htons" geht es ja auch.
Mfg
-
Winsock question schrieb:
Aber das hier finde ich unnötig:
ntohs(addr.sin_port)Ich meine mit "htons" geht es ja auch.
Ist aber eigentlich falsch, denn Inhalte der sockaddr-Struktur sollten immer in "network byte order" gespeichert sein. Deswegen muss man ntohs einsetzen, um sicher zu gehen, das richtige Speicherlayout für einen u_short zur weiteren Nutzung in Funktionen wie printf zu erzeugen.
MfG,
Probe-Nutzer