[求助]icmp报文填充的问题,填充后能发送但一直等待接收
char data[1024];DEF_PACKET_SIZE//这个值为32
(ICMP_HDR*)pIcmp=(ICMP_HDR*)data;
char* datapart;
//填充icmp结构部分
pIcmp->icmp_type = 8;
pIcmp->icmp_code = 0;
pIcmp->icmp_id = (USHORT)GetCurrentProcessId();
//填充附加数据
datapart = (data + sizeof(ICMP_HDR));//到icmp后指针
memset(datapart,'a',DEF_PACKET_SIZE);//如果填充0是可以发送的,
接受的报文大小也是12+32+20字节的
问题是:为什么我附加其他字符如'a',recvfrom函数就一直在等待接收的呢?就是不能接收,是不是在报文尾加入
数据recvfrom就不能识别icmp报文呢?在ping中,发送-lsize的报文它又是填充什么的呢?
疑惑?望高手帮忙解决!感激不尽,谢谢