in_addr_t、inet_ntoa等类型的地址是用于网络编程中的地址类型和地址转换函数。 in_addr_t:in_addr_t是一个32位无符号整数类型,用于表示IPv4地址。它是网络字节序的表示形式,可以通过一些函数进行转换。 inet_ntoa:inet_ntoa是一个函数,用于将in_addr_t类型的IPv4地址转换为点分十进制表示的字符串形式
在上一篇文章里面我们介绍了TCP的三次握手和四次挥手过程的介绍以及网络编程里面的一些api接口函数的介绍...
在编程中,in_addr结构体是一个用于表示IPv4地址的重要工具。它定义了一个名为struct in_addr的结构,其内部包含一个名为union的复合类型,这个union提供了几种不同的方式来表示IPv4地址。在union中,首先,有一个名为S_un_b的结构,它将IPv4地址拆分成四个无符号字符(s_b1, s_b2, s_b3, s_b...
struct sockaddr_in my_addr; sockfd = socket(AF_INET, SOCK_STREAM, 0); my_addr.sin_family = AF_INET; my_addr.sin_port = htons(MYPORT); my_addr.sin_addr.s_addr = inet_addr("192.168.0.1"); bzero(&(my_addr.sin_zero), 8); bind(sockfd, (struct sockaddr *)&my_addr, sizeof(s...
} IN_ADDR, *PIN_ADDR, FAR *LPIN_ADDR; 3. gethostbyname()函数 #include <netdb.h> #include <sys/socket.h> struct hostent *gethostbyname(const char *name); 此函数调用入参为主机名或者域名,例如www.google.com,wpc等等。函数返回一个指向struct hostent结构类型的指针,如果调用失败,就返回一个NULL...
in_addr 结构表示 IPv4 地址。 注意 IP 帮助程序中的 IPaddr 类型定义也表示 IPv4 地址,可以在需要时转换为可互换 的in_addr 结构。 IP 帮助程序中的 in_addr 结构具有与 Windows 套接字 in_addr 结构相同的语法和用法,可与 Windows 套接字中使用的 in_addr 结构互换。 Windows 套接字还为 in_addr ...
inet_addr()是将一个点分制的IP地址(如192.168.0.1)转换为上述结构中需要的32位IP地址(0xC0A80001)。 填值的时候使用sockaddr_in结构,而作为函数(如socket, listen, bind等)的参数传入的时候转换成sockaddr结构就行了,毕竟都是16个字符长。 通常的用法是: ...
在这段代码中,我们使用inet_pton函数将字符串形式的IP地址"192.168.1.1"转换成struct in_addr结构体,然后输出它的网络字节序表示(以十六进制形式展示)。这样我们就可以方便地处理IP地址了。 另外,需要注意的是,struct in_addr结构体的成员变量s_addr是一个无符号整数类型,它存放的是IP地址的二进制形式,而不是点...
sinfamily指代协议族在socket编程中只能是afinetsinport存储端口号使用网络字节顺序sinaddr存储ip地址使用inaddr这个数据结构sinzero是为了让sockaddr与sockaddrin两个数据结构保持大小相同而保留的空字节 sockaddr与sockaddr_in,sockaddr_un结构体详细讲解 struct sockaddr { unsigned short sa_family; /* address family, ...
1、 inet_addr、 inet_ntoa inet_aton a、inet_addr()的作用,就是将inet_addr()转化为长整数 inet_addr()的功能是将一个点分十进制的IP转换成一个长整数型数(u_long类型)等同于inet_addr(), 主要将一个点间隔地址转换成一个in_addr。 方便赋值给 in_addr b、inet_ntoa 主要是将 sin_addr的这32位...