Je me pose plusieurs question suite � des observations sur le comportement de mon application.
Cette application permet de stocker dans un fichier les donn�es en provenance d'un port s�rie. Ceci est r�alis� par le biais d'une fonction ("dataReceived") appel�e � chaque r�ception sur la liaison s�rie utilis�e. Cette fonction appelle elle m�me une autre fonction (qui elle va mettre en m�moire les donn�es), en safe-thread. Voil� pour le fonctionnement g�n�ral.
L'autre comportement de cette application est que :
Chaque fois qu'une erreur de r�ception est signal�e on revient � la ligne dans le fichier. Bien que (� priori, et c'est �galement une de mes questions) l'on ne puisse pas faire correspondre (temporellement) l'�v�nement ErrorReceived � l'�v�nement DataReceived, je les ai entrelass�s pour pouvoir � peu pr�s savoir quelle donn�e re�ue � fait l'objet d'un ErrorReceived.
Note : le fichier est �galement affich� dans une TexBox pour voir son avancement en temps r�el.
Voil� ce qui me trouble :
Le transfert que j'effectue, je le connais. C'est-�-dire que je connais exactement o� vont se trouver les erreurs de r�cepetion du c�t� pc, ainsi que le nombre et la valeur des donn�es.
Et bien, se transfert qui prend 4s en temps r�el, en prend 8 � la r�ception. Bon OK on peut se dire que c'est le buffer de r�ception (mat�riel) du port s�rie qui se remplit. Mais dans ce cas lors du traitement on ne devrait plus avoir de ErrorReceived, puisque c'est un �v�nement ponctuel qui n'a pas de lien directe avec les donn�es lues.
Bref je me demande simplement qu'est-ce qu'il se passe du c�t� windows, qu'est-ce qu'il met en m�moire tempon, met-il �galement toutes les occurences de ErrorReceived ? O� est-ce qu'il met �a ... ? Est-ce possible de savoir exactement qu'elle donn�e re�ue a g�n�r� l'ErrorReceived ?
Merci d'avance. Si je n'e suis pas assez clair, n'h�sitez pas � me demander des pr�cisions ...
Partager