Question

Je viens de regarder dans entrée de wikipedia sur des données hors bande et pour autant que je comprends, les données hors bande est en quelque sorte marqué plus important et traités comme des données ordinaires, mais transmises dans un flux séparé, ce qui me confond profondément.

La question réelle serait (en plus de "Quelqu'un pourrait-il expliquer les données OOB est?"):

J'écris une application qui utilise unix prises et doivent utiliser select () et je me demandais quoi faire avec le paramètre exceptfds? Ai-je besoin de mettre toutes mes prises dans ce paramètre et réagir à de tels événements? Ou est-ce que je les ignore simplement?

Était-ce utile?

La solution

Je sais que vous avez décidé que vous n'avez pas besoin de traiter les données OOB, mais voici quelques choses à garder à l'esprit si jamais vous Bougez soin de OOB ...

  • IPv4 ne pas vraiment envoyer des données hors bande sur un canal séparé, ou à une autre priorité. Il est juste un drapeau sur le paquet.
  • données hors bande est extrêmement limitée - 1 octet
  • données OOB peuvent être reçues soit en ligne ou séparément en fonction des options de socket
  • Une « exception » signalisation des données hors bande peut se produire même si la prochaine lecture ne contient pas les données hors bande (la pile de réseau sur l'expéditeur peut signaler les données déjà mis en attente, de sorte que l'autre côté ne saura qu'il ya OOB dès que possible). Ceci est souvent traité en entrant une boucle « fuite » où vous défausser des données jusqu'à ce que les données hors bande réelle est disponible.

Si cela semble un peu confus et sans valeur, c'est parce qu'il est la plupart du temps. Il sont de bonnes raisons d'utiliser OOB, mais il est rare. Un exemple est FTP, où l'utilisateur peut être au milieu d'un grand transfert, mais décider d'abandonner. Le abort est envoyé sous forme de données hors bande. A ce moment, le serveur et le client juste manger d'autres données « normales » pour drainer tout ce qui est toujours en transit. Si l'abandon ont été traitées en ligne avec les données, alors tout le trafic en circulation devrait être traitée, pour être sous-évaluées.

Il est bon d'être conscient que OOB existe et les bases de la façon dont il fonctionne, juste au cas où vous en avez besoin. Mais ne vous inquiétez pas l'apprendre à l'envers, sauf si vous êtes curieux. Il y a des chances décent vous pouvez jamais utiliser.

Autres conseils

Je pense avoir trouvé la réponse sur cette page . En bref:

Je ne ai pas besoin de traiter les données hors bande sur le côté de la réception si je ne suis pas envoi toutes les données hors bande. Je pensais que les données OOB pourraient être générés par le système d'exploitation de l'expéditeur.

Vous n'avez pas besoin de le manipuler à la réception, même si vous sont l'envoyer -. Les données hors bande est transparente ignorée dans toutes les circonstances, sauf si vous allez activement à recevoir

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top