Linux 网络编程常用函数总结

                 in_addr_t inet_addr(const char* strptr);    inet_addr函数可以转化字符串,主要用来将一个十进制的数转化为二进制的数,用途多于ipv4IP转化。返回值:如果若字符串有效则正确执行将返回一个无符号长整数型数(这32位无符号长整型是二进制网络字节序IPV4地址)。如果传入的字符串不是一个合法的IP地址,将返回INADDR_NONE

    测试sin_family占两个字节              

#include
#include
#define SER_IP "127.0.0.1"
#define SER_PORT 6666

int main(){
    struct sockaddr_in serv_addr;
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(SER_PORT);
    printf("AF_INET = 0x%x\n", AF_INET); // 0x2
    printf("serv_addr.sin_family = 0x%x\n", serv_addr.sin_family); // 0x2
    printf("htonl AF_INET = 0x%x\n", htonl(AF_INET));//0x2000000
    printf("htonl serv_addr.sin_family = 0x%x\n", htonl(serv_addr.sin_family));//0x2000000
    printf("htons AF_INET = 0x%x\n", htons(AF_INET));//0x200
    printf("htons serv_addr.sin_family = 0x%x\n", htons(serv_addr.sin_family));//0x200
    printf("sizeof(serv_addr.sin_family ) = 0x%x\n", sizeof(serv_addr.sin_family ));//0x2
    return 0;
}

你可能感兴趣的:(计算机基础)