Pregunta

Yo estaba tratando de encontrar ejemplos acerca de la programación del zócalo y me encontré con este script: http://stacklessexamples.googlecode.com/svn/trunk/examples/ redes / mud.py

Al leer este guión me encontré con esta línea: listenSocket.listen (5)

Como lo entiendo - se lee 5 bytes de la memoria intermedia y luego hace cosas con ella ...

Pero, ¿qué ocurre si hay más de 5 bytes enviados por el otro extremo?

en el otro lugar de esa secuencia de comandos que comprueba la entrada frente a 4 comandos y ve si hay \ r \ n en la cadena. no te comandos como "mirar" más \ r \ n compensar por más de 5 bytes?

Alan

¿Fue útil?

Solución

El siguiente es aplicable a conectores en general, pero debería ayudar a responder a su pregunta específica sobre el uso de tomas de Python.

socket.listen () se utiliza en un servidor Toma para escuchar las solicitudes de conexión entrantes.

El parámetro pasado a escuchar se denomina acumulación y significa el número de conexiones deben aceptar la toma de corriente y poner en una memoria intermedia en espera hasta que termine su llamada a accept (). Eso se aplica a las conexiones que están esperando para conectarse a su servidor socket entre el momento en que haya llamado listen () y el tiempo que haya terminado la llamada correspondiente a aceptar ().

Por lo tanto, en su ejemplo que está configurando el retraso de las 5 conexiones.

Nota: .. si configura su cartera de pedidos a 5 conexiones, será dado de baja las siguientes conexiones (6, 7, etc.) y el zócalo de conexión recibirá un conexión de error mensaje (algo así como un "anfitrión rechazó activamente la conexión" mensaje)

Otros consejos

Esto podría ayudar a entender el código: http://www.amk.ca/ Python / howto / hembra /

El argumento 5 a listenSocket.listen no es el número de bytes a leer o tampón, es el backlog:

  

socket.listen(backlog)

     

escuchar las conexiones hechas a la   enchufe. Los argumentos especifica atraso   el número máximo de cola   conexiones y deben ser de al menos 1;   el valor máximo es dependiente del sistema   (Normalmente 5).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top