Question

Je suis en train de trouver des exemples sur la programmation socket et suis tombé sur ce script: http://stacklessexamples.googlecode.com/svn/trunk/examples/ réseau / mud.py

Lors de la lecture par ce script que j'ai trouvé cette ligne: listenSocket.listen (5)

Si je comprends bien - il lit 5 octets de la mémoire tampon et puis fait des choses avec elle ...

mais ce qui se passe si plus de 5 octets ont été envoyés par l'autre bout?

à l'autre endroit de ce scénario, il vérifie l'entrée contre 4 commandes et si on le voit \ r \ n dans la chaîne. DonT commandes comme "look" plus \ r \ n faire pour plus de 5 octets?

Alan

Était-ce utile?

La solution

Ce qui suit est applicable aux prises en général, mais il devrait aider à répondre à votre question sur l'utilisation des sockets de Python.

socket.listen () est utilisé sur un serveur socket pour écouter les demandes de connexion entrantes.

Le paramètre passé à écouter est appelé backlog et cela signifie combien de connexions doivent accepter la prise et mettre dans un tampon en attente jusqu'à ce que vous avez terminé votre appel à l'accepter (). Cela vaut pour les connexions qui sont en attente de se connecter à votre serveur de prise entre le moment où vous avez appelé l'écoute () et le temps que vous avez terminé un appel correspondant à accepter ().

Alors, dans votre exemple vous configurez l'arriéré de 5 connexions.

Remarque .. si vous définissez votre carnet de commandes à 5 connexions, les connexions suivantes (6e, 7e, etc.) seront supprimés et la prise de connexion recevra un erreur de connexion message (quelque chose comme un message "hôte a activement refusé la connexion")

Autres conseils

Cela peut vous aider à comprendre le code: http://www.amk.ca/ python / howto / prises /

Le 5 argument à listenSocket.listen est pas le nombre d'octets à lire ou tampon, il est le backlog:

  

socket.listen(backlog)

     

Écoutez les connexions à la   prise. L'argument de retard Précise   le nombre maximal de file d'attente   et les connexions doivent être d'au moins 1;   la valeur maximale dépend du système   (Généralement 5).

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