时间:2021-05-20
本文实例讲述了C++计算ICMP头的校验和的方法,分享给大家供大家参考。具体实现代码如下:
复制代码 代码如下:USHORT checksum(USHORT* buff, int nSize)
{
unsigned long cksum=0;
//将数据以字为单位加到cksum
while (nSize > 1)
{
cksum += *buff++;
nSize -= sizeof(USHORT);
}
//如果为奇数, 将最后一个字扩展到双字,再累加
if (nSize)
{
cksum += *(UCHAR*)buff;
}
//将cksum的高16位与低16位相加,取反后得到校验和
cksum = (cksum>>16) + (cksum&&0xffff);
cksum += (cksum>>16);
return (USHORT)(~cksum);
}
希望本文所述对大家的C++程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C++实现ping程序的方法。分享给大家供大家参考。具体实现方法如下:该实例涉及ICMP数据包的发送与回显,PING程序代码如下:复制代码代码如下
本文实例讲述了C++中CNoTrackObject类和newdelete操作符的重载,分享给大家供大家参考。具体如下:头信息:复制代码代码如下:classCNo
本文实例讲述了C#计算文件MD5校验的方法。分享给大家供大家参考。具体分析如下:C#计算文件的MD5校验,从互联网上下载一个文件,可以使用下面的代码对文件进行M
C++中构造函数的实例详解c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++
C++中cerr和cout的区别实例详解前言:cerrTheobjectcontrolsunbufferedinsertionstothestandarderr