更新时间:2022-06-22 22:29:26
鉴于这些声明:
tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
raw_socket = socket(AF_INET, SOCK_RAW, protocol);
Linux 中的 ip(7) 手册页说:
the ip(7) manual page in linux says:
协议的唯一有效值是0 和 IPPROTO_TCP 用于 TCP 套接字,以及0 和 IPPROTO_UDP 用于 UDP 套接字.对于 SOCK_RAW,您可以指定一个有效的RFC 1700 中定义的 IANA IP 协议分配的号码.
The only valid values for protocol are 0 and IPPROTO_TCP for TCP sockets, and 0 and IPPROTO_UDP for UDP sockets. For SOCK_RAW you may specify a valid IANA IP protocol defined in RFC 1700 assigned numbers.
问题中的这两行总是会产生相同的结果.
Those two lines in your questions will always produce the same result.