雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

C++計算ICMP頭的校驗和實例

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊:

本文實例講述了C++計算ICMP頭的校驗和的方法,分享給大家供大家參考。具體實現(xiàn)代碼如下:

復制代碼 代碼如下:
USHORT checksum(USHORT* buff, int nSize) 

    unsigned long cksum=0; 
    //將數(shù)據(jù)以字為單位加到cksum 
    while (nSize > 1) 
    { 
        cksum += *buff++; 
        nSize -= sizeof(USHORT); 
    } 
 
    //如果為奇數(shù), 將最后一個字擴展到雙字,再累加 
    if (nSize) 
    { 
        cksum += *(UCHAR*)buff; 
    } 
    //將cksum的高16位與低16位相加,取反后得到校驗和 
    cksum = (cksum>>16) + (cksum&&0xffff); 
    cksum += (cksum>>16); 
    return (USHORT)(~cksum); 
}

希望本文所述對大家的C++程序設計有所幫助。

上一篇:C++基于對話框的程序的框架實例

欄    目:C語言

下一篇:C++封裝遠程注入類CreateRemoteThreadEx實例

本文標題:C++計算ICMP頭的校驗和實例

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/3235.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有