Quelles sont les causes de l'erreur ENOTCONN?

Je suis actuellement le maintien d'un logiciel de serveur web et j'ai besoin d'effectuer un grand nombre d'opérations d'e/S. Le read()write()close() et shutdown() appels, lorsqu'il est utilisé sur un socket, peut parfois soulever un ENOTCONN erreur. Exactement ce que fait cette erreur signifie? Quelles sont les conditions qui permettraient de le déclencher? Je peux ne semblent jamais à reproduire localement, mais il y a des utilisateurs qui peuvent.

Droit maintenant, j'ai juste l'ignorer ENOTCONN quand ils sont élevés par close() et shutdown() car il semble inoffensif, mais je ne suis pas entièrement sûr.

EDIT:

  • Je suis absolument sûr que la connect() appel a réussi. J'ai vérifier sa valeur de retour.
  • ENOTCONN est le plus souvent soulevées par close() et shutdown(). Je n'ai que très rarement vu une read() et write() élever ENOTCONN.

source d'informationauteur Hongli