1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
   |  
      bool toto(unsigned char data[BUFFER_SIZE], size_t bytes_transferred)
{  
            static const int TRANSPORT_START_VALUE = 0x02;
static const int TRANSPORT_SIZE_LOW_BYTE = 1;
             unsigned int i=0;
	unsigned char* adrBuffer=(unsigned char*)data;
	uint16 * pt;
	int taille_trame;
	while(i<bytes_transferred)
	{
	   pt=(uint16*)              (adrBuffer+i+TRANSPORT_SIZE_LOW_BYTE);
		taille_trame=(int)(*pt);
		if(i+taille_trame>bytes_transferred)
		{
			taille_envoi_session=i;
		}
		i=i+taille_trame;
		//subtilite reseau des fois le paquet recu contient 1 bit de trop par rapport a la taille du paquet TCS
		if(i<bytes_transferred)
		{
			if(data[i]!=TRANSPORT_START_VALUE || taille_trame==0)
			{
				i++;
			}
		}
	}
..................... | 
Partager