was sind Adressen vom Typ in_addr_t inet_ntoa etc
Ok, bevor dieses posting Frage ich habe die threads hier
in_addr_t string
meine Frage ist anders.
Ich verstehe, dass inet_ntoa-Funktion der folgenden Art
char * inet_ntoa (struct in_addr in);
Was ich wissen will ist, was ist in_addr_t
was wird die Darstellung, wenn es ist verwendet ein socket Programm.
Habe ich überprüft die Struktur-definition in <netinet/in.h>
typedef uint32_t in_addr_t;
struct in_addr {
in_addr_t s_addr;
};
ist von oben genannten Typ. Ich will nicht drucken in_addr_t char * als inet_ntoa tut.
Ich will sehen, was in_addr_t.Wie kann es also getan werden, oder was genau ist in_addr_t und warum verwendet man Sie wieder und wieder in die socket-Programmierung.
Wenn ich mich nicht Irre ist es definiert als
typedef uint32_t in_addr_t;
Also, wenn in_addr_t
ist unsigned 32 bit
int I wollen, um zu sehen, was ist, und nicht die char *
die Drucke 192.168.1.1 Art der Ausgabe auf stdout.
- Auf der Grundlage der Fragen, die Sie haben zu Fragen, empfehle ich Sie abholen ein Buch, wie die klassischen Internetworking mit TCP/IP-Comer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie wir alle wissen (wir tun, richtig?) ein
IPv4
Adresse vertreten ist, mit einem unsigned 32-bit integer. Uns schwächliche Menschen, die nicht mehr so gut mit großen zahlen (oder kleinen), so verwenden wir die Punkt-dezimal-notation. (Wussten Sie, dass Sie bei1076000524
jetzt ? Auch ich nicht).Jedoch, da Sie die Zitze durch
netinet
und fand heraus, was ist spezifiziert durch der standardIst
können Sie es drucken.
Schnell, was bedeutet
134744072
stehen ?htons
/htonl
("host to network, short/long") oderntohs
/ntohl
("network to host short/long"), um die richtigen Werte unabhängig von der Architektur.