C#: Comment traiter de paquets TCP?

Peut plaire à quelqu'un d'expliquer la façon de traiter avec de paquets. Je suis à l'aide de socket raw pour capturer les paquets, et les analyser comme ils viennent, mais certains d'entre eux viennent dans un ordre incorrect, par exemple:

  1. Id...........Drapeaux
  2. 16390 : (PSH, ACK)
  3. 16535 : (PSH, ACK)
  4. 16638 : (ACK)
  5. 16640 : (PSH, ACK)
  6. 16639 : (ACK)
  7. 16695 : (PSH, ACK)

Paquets avec Id: 16390, 16535, 16695 sont séparés des paquets et peut être traitée librement
Les paquets avec Id: 16638, 16640, 16639 sont une séquence de paquets, et devrait être mis en ordre croissant avant l'analyse.

Pour le rendre pire les paquets avec indicateur Push parfois venir d'abord je viens donc de passer à l'analyseur, puis les paquets que preceds il vient et analyseur écarte tout simplement comme corrompu.

Est-il un moyen de traiter avec elle?

  • Merci de préciser exactement ce que vous faites donc nous sommes plus en mesure de répondre à votre question.
  • Ne pas utiliser une socket raw.
  • C'est triste, je vous ai dit comment gérer les paquets, et j'ai seulement eu 3 votes, alors que l'on a accepté de répondre a 8 voix et, fondamentalement, n'ont pas répondu à la question...
  • C'est parce que la bonne question n'était pas posée dans la première place.
InformationsquelleAutor | 2009-04-18