linux网口初始化_Linux网络编程入门

根据前面所介绍的内容,本节介绍下网络地址初始化的方法。网络地址初始化本质上就是对sockaddr_in结构体进行赋值

#include

#include // memset

#include // sockaddr_in

int main(int argc, char *argv[])

{

const char *server_ip = "127.0.0.1"; // 本机IP地址字符串

int server_port = 0x1234; // 端口号

struct sockaddr_in address;

memset(&address, 0, sizeof(address));

address.sin_family = AF_INET; // 地址族,IPv4

address.sin_port = htons(server_port); // 端口赋值

address.sin_addr.s_addr = inet_addr(server_ip); // IP地址赋值

printf("端口网络字节序:%#x\n", address.sin_port);

printf("IP地址网络字节序:%#x\n", address.sin_addr.s_addr);

return 0;

}

第2行引入头文件string.h,memset函数的头文件。

第3行引入头文件arpa/inet.h, sockaddr_in结构体的头文件。

第7~8行定义了一个IP地址和端口,其中127.0.0.1表示本地主机地址。

第11行memset函数将网络地址每个字节初始化为0,这样可以保证将sockaddr_in结构体的sin_zero字符数组均初化为0。

第13~15行对网络地址的三个字段进行赋值,其中端口和IP地址均转化为网络字节序进行赋值。

右侧打开address_init_test.c文件,完成网络地址初始化,并编译测试。

你可能感兴趣的:(linux网口初始化)