Bonjour et merci pour ta réponse très rapide.
Tu as globalement bien compris ma demande malgré mon explication floue :d
Alors en effet, il y a un événement à chaque réception d'un message complet, la démo de ICS me le fait constater en affichant un message (Sur evt DocBegin, DocEnd)
Pour le keep-alive, j'ai effectivement fait un raccourci je crois. Je voulais signifier que faisant un get et ne fermant pas la connexion, la requête est bloquante (Donc je la met dans un thread supplémentaire pour effectuer d'autres actions). En gérant correctement les événements DocBegin et Doc End, j'aurais certainement pu me passer d'un thread supplémentaire?
Voilà ce que j'ai en réponse XML enregistré dans un fichier (Exactement ce que tu as marqué dans ton message

):
***********************
--DigifortBoundary
Content-Type: text/plain; charset=UTF-8
Content-Length: 203
RESPONSE_CODE=0
RESPONSE_MESSAGE=OK
OBJECTDATA_NAME=
OBJECTDATA_TYPE=
EVENTDATA_NAME=
EVENTDATA_TYPE=KEEP_ALIVE
EVENTDATA_TIMESTAMP=2011-02-18 22:27:26
EVENTDATA_UTCTIMESTAMP=2011-02-18 21:27:26
--DigifortBoundary
Content-Type: text/plain; charset=UTF-8
Content-Length: 203
RESPONSE_CODE=0
RESPONSE_MESSAGE=OK
OBJECTDATA_NAME=
OBJECTDATA_TYPE=
EVENTDATA_NAME=
EVENTDATA_TYPE=KEEP_ALIVE
EVENTDATA_TIMESTAMP=2011-02-18 22:27:31
EVENTDATA_UTCTIMESTAMP=2011-02-18 21:27:31
--DigifortBoundary
Content-Type: text/plain; charset=UTF-8
Content-Length: 203
RESPONSE_CODE=0
RESPONSE_MESSAGE=OK
OBJECTDATA_NAME=
OBJECTDATA_TYPE=
EVENTDATA_NAME=
EVENTDATA_TYPE=KEEP_ALIVE
EVENTDATA_TIMESTAMP=2011-02-18 22:27:36
EVENTDATA_UTCTIMESTAMP=2011-02-18 21:27:36
********************************
Et en conclusion, ma question est dans ta dernière phrase :
Comment traiter ce flux à la volée, au fur et à mesure qu'il arrive?
Faut-il que sur un événement DocData je lance le parser (Qui soit dit en passant attend un paramètre Pchar alors que j'ai un flux Tmemorystream...)? Et ce dans l'unité du thread et pas dans l'unité principale?
Merci beaucoup pour le soutien
Partager