2013-04-14 9 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.

Смежные вопросы