下面是一个有效的套接字创建示例(在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地址和端口字段。

08-04 15:25