2013-04-14 35 views
0

我写了一个代码来发送TCP数据包并接收确认数据包。客户机服务器通信中的校验和代码

我想在代码中实现校验和来检查数据一致性,但是未能编写用于检查数据一致性的代码(使用C语言)。

请给我代码。

+1

查看IDE的所有菜单,找到菜单项说'给我代码',然后选择它。 –

回答

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上使用什么。