Socket.io le permite utilizar los latidos del corazón para "verificar el estado de las conexiones Socket.IO". ¿Qué son exactamente los latidos del corazón y por qué debo o no debo usarlos?Ventaja/desventaja de utilizar heartbeats socketio
Respuesta
Un latido es un pequeño mensaje enviado de un cliente a un servidor (o de un servidor a un cliente y de regreso al servidor) en intervalos periódicos para confirmar que el cliente todavía está activo y activo.
Por ejemplo, si tiene una aplicación Node.js que sirve una sala de chat, y un usuario no dice nada durante muchos minutos, no hay manera de saber si todavía están realmente conectados. Al enviar un sonido audible a un intervalo predeterminado (por ejemplo, cada 15 segundos), el cliente informa al servidor que todavía está allí. Si ha sido, por ejemplo, 20 segundos desde que el servidor recibió un latido de un cliente, es probable que se haya desconectado.
Esto es necesario porque cannot be guaranteed a clean connection termination over TCP --si un cliente se cuelga, o sucede algo más, no recibirá los paquetes de terminación del cliente, y el servidor no sabrá que el cliente se ha desconectado. Además, Socket.IO admite varios otros mecanismos (que no sean sockets TCP) para transferir datos, y en estos casos el cliente no enviará (o no) un mensaje de finalización al servidor.
De manera predeterminada, un cliente Socket.IO enviará un latido al servidor cada 15 segundos (intervalo de latidos), y si el servidor no ha oído desde el cliente en 20 segundos (tiempo de espera de los latidos del corazón ) se considerará al cliente desconectado.
No puedo pensar en muchos casos de uso promedio en los que probablemente no desee utilizar los latidos del corazón.
- 1. Dart Nodejs y Socketio
- 2. SocketIO + Node - Recuperar conexiones perdidas
- 3. NodeJS + SocketIO empujando a la aplicación móvil
- 4. Cómo escalar el servidor gevent-socketio?
- 5. ejemplo mínima de microframework botella de Python usando GEvent-socketio y Socket.IO.js
- 6. Cuándo utilizar IList y cuándo utilizar List
- 7. propósito de utilizar FrameworkElementFactory
- 8. utilizar NodeIterator
- 9. Cuándo utilizar patrones de fábrica?
- 10. qué marco de python utilizar?
- 11. forma correcta de utilizar StringBuilder
- 12. Ventajas de utilizar Core Graphics
- 13. costo de utilizar parámetros repetidos
- 14. qué versión de StringComparer utilizar
- 15. Cuándo utilizar retener y cuándo utilizar la copia
- 16. Cómo utilizar UIImagePickerControllerCropRect
- 17. ¿Cómo utilizar BetterAuthorizationSample? - Cocoa
- 18. Cómo utilizar Html.GetUnobtrusiveValidationAttributes()
- 19. Cómo utilizar subList()
- 20. Cuándo utilizar NSEnumerationConcurrent
- 21. Cuándo utilizar memcached
- 22. iOS: Cómo utilizar MPMoviePlayerController
- 23. Cuándo utilizar el operador "^"
- 24. Cuándo utilizar NSNotificationCenter
- 25. Cuándo utilizar Dependency Injection
- 26. Cuándo utilizar la opción
- 27. utilizar SwingUtilies.invokeAndWait/invokeLater
- 28. Error al utilizar alassestsLibrary
- 29. Problemas al utilizar UpdateProgress
- 30. Cuándo utilizar WCF/REST
pregunta asombrosa. –