客户端服务器通信中的校验和代码

时间:2013-04-14 21:44:16

标签: c client-server checksum

我编写了一个代码来发送TCP数据包并接收确认数据包。

我想在代码中实现校验和以检查数据一致性但是无法编写代码(用C语言)来检查数据的一致性。

请给我代码。

1 个答案:

答案 0 :(得分:1)

通常的方法是使用其中一个zlib checksum functions,例如crc32

在源代码的顶部添加

#include <zlib.h>

之类的东西初始化CRC
my_crc = crc32(0L, Z_NULL, 0);

然后根据需要添加数据,通常在某些循环上下文中

my_crc = crc32(my_crc, (unsigned char *)some_buffer_pointer, length_of_buffer);

请记住链接zlib库

-lz

如果你不想使用库函数,例如,你在MPU上,那么你可以使用http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/libkern/crc32.c?txt

如果您的平台上没有zlib,可以从http://www.zlib.net/下载。

希望如果你在Windows上,其他人会建议使用什么。

相关问题