我是socket编程的新手
我看到了一个ICMP请求程序,在其中使用setsockopt
设置了一个socket
int on = 1;
setsockopt(s, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on))
但即使我不使用这个语句,程序也能正常运行。为什么要向内核提及包括IP结构的套接字如此重要呢?
我是socket编程的新手
我看到了一个ICMP请求程序,在其中使用setsockopt
设置了一个socket
int on = 1;
setsockopt(s, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on))
但即使我不使用这个语句,程序也能正常运行。为什么要向内核提及包括IP结构的套接字如此重要呢?
IP_HDRINCL
选项的作用是(来自手册):IP_HDRINCL
选项。当它被启用时,数据包必须包含一个IP头。对于接收,IP头总是包含在数据包中。