2013-04-14 74 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上使用什麼。