- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 网络编程中的校验和,网际校验和的实现
1、无伪首部的网际校验和算法的实现unsigned short CheckSum(unsigned short* buf, int size){ unsigned long sum = 0; while (size > 1) { sum += *buf++; size -= sizeof(unsigned short); } if (size) { cksum += *(unsigned char*)...
2020-06-12 14:07:07
1218
原创 c/c++ 网络编程,常用的数据转换方法,网络字节转主机字节,主机字节转网络字节
1、c++中常需要用到CString和char*的转换使用之前需要添加声名宏USES_CONVERSION; CString 转 char* T2A() char* 转 CString A2T()USES_CONVERSION;CString cstr;char* pChar;pChar = T2A(cstr);cstr = A2T(pChar);2、网络字节和主机字节的转换整型变量主机字节转网络字节htons() 整型变量网络字节转主机字节ntohs() 无符号...
2020-06-12 13:58:23
554
原创 C/C++ 下关于数据结构占据内存的理论字节和实际字节不相符的问题——字节对齐问题
在32位编译器中short占两个字节,long占4个字节1.数据类型自身的对齐值: 对于char型数据,其自身对齐值为1,对于short型为2,对于int,float类型,其自身对齐值为4,对于double型,其自身对齐值为8,单位字节。 2.结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。 3.指定对齐值:#pragma pack (value)时的指定对齐...
2020-06-11 22:07:11
444
原创 Ethernet数据帧结构
Ethernet数据帧长度在64字节 - 1518字节,校验码采用32位CRC校验| 前导码 7B | 帧前定界符 1B | 目的MAC 6B | 源MAC 6B | 类型字段2B | 数据字段 46B - 1500B | 校验字段 4B |前导码AA AA AA AA AA AA AA 帧前定界符 AB,前导码和帧前定界符不计入数据帧长度类型字段:标识网络层所使用的协议, ...
2020-04-19 12:07:39
1379
原创 TCP报文段和UDP用户数据报的校验
TCP报文段和UDP用户数据包使用网际校验和校验算法。1、网际校验和算法原理把待校验的数据划分为16位一组的比特序列(如果待校验的数据字节长度位奇数,则在数据末尾补一个全零的字节),对划分好的16位分组求反码和,再求反码,即为所求的校验和字段。2、TCP报文段和UDP用户数据包的校验和TCP报文段和UDP用户数据包校验需要在数据之前添加一个12个字节的伪首部 ...
2020-04-19 11:29:36
734
原创 WinPcap在Visual Studio上的配置
首先从官方网站https://www.winpcap.org/ 下载WinPcap安装包按照提示选择自动启动WinPcap的驱动程序进行安装。然后,下载WinPcap的源码文件。在程序的项目-属性-VC++目录-包含目录中添加WinPcap的源码文件的include文件,在库目录中添加WinPcap的源码文件的lib文件。最后在项目的头文件里添加pcap.h头文件,发现可用证明配置成功。...
2020-04-19 11:06:06
593
XiangQi.py
2020-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人