资源简介

以前发过,不过搞忘发头文件了,所以重新发下,把udp的也发上来了。

资源截图

代码片段和文件信息

u_short udp_checksum(u_short len_udp u_long src_addr u_short src_port
     u_long dest_addr u_short dest_port u_char * buff)
{
    u_short udp_len_total = 0;
    u_long sum = 0;
    u_short pad = 0;
    u_short low;
    u_short high;

    if (len_udp % 2 != 0) {
pad = 1;
    }
    low = htons((u_short) src_addr);
    high = htons(src_addr >> 16);
    sum += high + low;

    low = htons((u_short) dest_addr);
    high = htons(dest_addr >> 16);
    sum += high + low;

    udp_len_total = len_udp + 8;
    sum += IPPROTO_UDP + udp_len_total;
    sum += udp_len_total;

    sum += htons(src_port) + htons(dest_port);
    for (u_short i = 0; i < len_udp - pad; i += 2) {
high = htons(*(u_short *) buff);
buff += 2;
sum += high;
    }
    if (pad) {
sum += htons(*(u_char *) buff);
    }
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-05-07 10:59  sendpac\
     文件        1216  2013-12-14 15:12  sendpac\checksum.c
     文件         198  2013-12-14 14:12  sendpac\packet.h
     文件        3695  2014-03-29 00:38  sendpac\sendtcp.c
     文件        3869  2013-12-14 14:33  sendpac\sendudp.c

评论

共有 条评论