硬件:老古,现在我要发送7个字节的UDP数据报,按照你的意思做了,但是...请帮忙! crctemp.dword=0;
lsum = 0l;
for (i=0;i<(8+length);i++)
lsum = lsum+(long int)(txdnet.ippacket.ippacket[6+i]);
r = (unsigned int)(lsum & 0xFFFF);
r1 = (unsigned int)((lsum -r)>>16);
crc1 = ~(r+r1);
crc1 -= ((txdnet.ippacket.ippacket[4] & 0x00FF)+txdnet.udpframe.udplength);
return crc1;
}
其中参数LENGTH 为要发送UDP数据的字数.如为8字节.length=4. 为7.length=7;
谢谢!
发送的字节若为7,则UDP总长度应为15=7+8(首部:8个字节)。同时在计算UDP校验和时还要包括伪首部。
answer:
那么你在整个数据包长度小于60字节的时候你是填充0,使其长度达到60字节?网卡在计算CRC时是怎么计算的,包括那些内容。
ANSWER:
大虾请跟贴!