下面是一个有效的套接字创建示例(在C中):
// Construct local address structure
struct sockaddr_in servAddr; // Local address
memset(&servAddr, 0, sizeof(servAddr)); // Zero out structure
servAddr.sin_family = AF_INET; // IPv4 address family
servAddr.sin_addr.s_addr = htonl(INADDR_ANY); // Any incoming interface
servAddr.sin_port = htons(servPort); // Local port
我们需要将地址和端口转换为网络顺序,而不是地址系列为什么?
最佳答案
sin_family
不是通过网络发送的,因此不需要使用网络字节顺序它只是操作系统的本地标志它指示struct sockaddr *
指针的多态类型,因为IPv4不是唯一的格式例如,一个AF_UNIX
地址不能得到IP地址和端口字段。