"Escuchando" un puerto significa un sondeo continuo a ese puerto o un sondeo discreto o un proceso impulsado por interrupción. ¿Qué está pasando exactamente en "Escuchando un puerto"?¿Qué es exactamente Puerto escuchando
Respuesta
Un puerto no es más que un concepto , no es como si se pudiera comprobar algunos bits de memoria, a la espera de alguna información.
Así, escuchar a un puerto se enseñar al núcleo qué hacer después de recibir los paquetes con este número de puerto específico: transmitirlo al proceso que pidió que escuche en ese puerto, en lugar de responder [o no] que el puerto no está abierto.
NB: eso son solo especulaciones, no investigué ninguna implementación del kernel.
EDIT: En el lado del proceso,
listen
le dirá al núcleo que está interesado en un determinado puerto cita- (no estoy seguro de lo que sucede entre
listen
yaccept
, el kernel almacena las nuevas conexiones o las rechaza hasta que se haya llamado alaccept
, consulte el manual correspondiente) accept
va a unir la conexión a un puerto comunicación, y empezar a almacenar temporalmente los paquetes entrantesrecv
(opoll
oselect
duda) entrega la información recogida desde el buffer de recepción
eso significa que Kernel interrumpirá (notificará) el proceso cuando se reciba este paquete. – Dinushan
El núcleo extrae el puerto de destino del entrante IP-packets y luego reenvía el paquete a todos los receptores, que se registraron para este puerto específico (sí, puede haber varios). Un proceso de usuario normalmente usa select (2) o poll (2) para esperar un evento, pero este sondeo es diferente del sondeo tradicional como "leer puerto de E/S, retrasar 500 ms".
- 1. Escuchando puerto serie en Delphi 7
- 2. ¿Qué es exactamente NoSQL?
- 3. ¿Qué es exactamente "manejar"?
- 4. ¿Qué es exactamente Rake?
- 5. ¿Qué es exactamente OData?
- 6. ¿Qué es exactamente WPF?
- 7. ¿Qué es exactamente OWASP?
- 8. ¿Qué es Container.DataItem exactamente?
- 9. ¿Qué es hash exactamente?
- 10. ¿Qué es exactamente Java?
- 11. ¿Qué es exactamente Parrot?
- 12. ¿Qué es exactamente Heroku?
- 13. ¿Exactamente qué es PLINQ?
- 14. ¿Qué es exactamente sun.jnu.encoding?
- 15. ¿Qué es LINQ exactamente?
- 16. ¿Qué es exactamente JSON?
- 17. ¿Cómo boost.asio descubre en qué puerto está escuchando mi aplicación de servidor?
- 18. Investigar qué servicio de Windows está escuchando qué IP y puerto
- 19. Comprueba si el puerto en serie está escuchando
- 20. Cómo cambiar el puerto HTTP que está escuchando en Play2
- 21. ¿Qué es exactamente un marco?
- 22. ¿Qué es exactamente una "Consola"?
- 23. ¿Qué es exactamente Appdomain reciclaje
- 24. ¿Qué es exactamente una ROM?
- 25. ¿Qué es exactamente este error?
- 26. ¿Qué es exactamente CDATA y qué hace?
- 27. ¿Cómo puedo saber qué puerto está escuchando mi servidor jboss programáticamente usando JBoss 4.2.3?
- 28. Por qué está escuchando en el puerto con Netcat no trabajar
- 29. Sigo escuchando sobre el infierno de DLL, ¿qué es esto?
- 30. ¿Qué es exactamente una Fábrica de clases?
esto es de programmers.stackexchange [how-a-port-listens-pull-or-push] describe en profundidad. [1]: http://programmers.stackexchange.com/q/107545/36957 – Dinushan
La respuesta describe los mecanismos de muy bajo nivel, debajo de las nociones de * tcp/udp *, * ports * e incluso * listening *, es cierto para cualquier recepción de datos de red. – Kevin