Как посчитать контрольную сумму TCP-пакета?
От: Linuxoid  
Дата: 11.02.03 16:08
Оценка:
Если можно, код на мыло пожалуйста.
lxd@ukr.net

14.02.03 10:36: Перенесено модератором из 'Сети, сокеты, протоколы' в Исходники — ХД
Re: Как посчитать контрольную сумму TCP-пакета?
От: butcher Россия http://bu7cher.blogspot.com
Дата: 12.02.03 23:16
Оценка:
Здравствуйте, Linuxoid, Вы писали:

L>Если можно, код на мыло пожалуйста.

L>lxd@ukr.net
unsigned short CalculateChecksum(unsigned short *usBuf, int iSize) // буфер и его размер
{
    unsigned long usChksum=0;

    while (iSize>1)
    {
        usChksum+=*usBuf++;
        iSize-=sizeof(unsigned short);
    }

    if (iSize)
        usChksum+=*(unsigned char*)usBuf;

    usChksum=(usChksum >> 16) + (usChksum & 0xffff);
    usChksum+=(usChksum >> 16);

    return (unsigned short)(~usChksum);
}


что-то типа такого..

Нет ничего невозможного..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.