Socket.io를 사용하면 하트 비트를 사용하여 "Socket.IO 연결 상태 확인"을 할 수 있습니다. 하트 비트는 정확히 무엇이며 왜 사용해야합니까, 사용하지 않아야합니까?socketio 하트 비트 사용의 장점/단점
36
A
답변
52
하트 비트는 주기적 간격으로 클라이언트에서 서버 (또는 서버에서 클라이언트로 그리고 서버로 돌아 오는)로 전송되는 작은 메시지로, 클라이언트가 여전히 주변에 있고 활성 상태인지 확인합니다.
예를 들어, 채팅 룸을 제공하는 Node.js 앱이 있고 사용자가 몇 분 동안 아무 것도 말하지 않으면 실제로 연결되어 있는지 확인할 방법이 없습니다. 미리 정해진 간격으로 (예 : 15 초마다) 고음声을 보내어 클라이언트는 서버에 여전히 있음을 알립니다. 예를 들어 서버가 클라이언트로부터 하트 비트를받은 후 20 초가 지나면 연결이 끊어졌습니다.
cannot be guaranteed a clean connection termination over TCP - 클라이언트가 충돌하거나 클라이언트에서 종료 패킷을받지 못하고 클라이언트가 연결이 끊어 졌다는 것을 알지 못하기 때문에이 작업이 필요합니다. 또한 Socket.IO는 데이터 전송을위한 다양한 다른 메커니즘 (TCP 소켓 제외)을 지원하며 이러한 경우 클라이언트는 서버에 종료 메시지를 보내지 못합니다.
는 기본적으로 Socket.IO 클라이언트가 서버에 매 15 초 (하트 비트 간격를) 하트 비트를 보낼 것이다 서버 (하트 비트 시간 제한) 20초에 클라이언트에서 들어 있지 않은 경우를 연결이 끊어진 클라이언트를 고려합니다.
아마 하트 비트를 사용하고 싶지 않은 많은 평균 사용 사례를 생각할 수 없습니다.
관련 문제
- 1. 사용자가 인증되었는지 확인하는 하트 비트?
- 2. 하트 비트 프로토콜/알고리즘 또는 모범 사례
- 3. 하트 비트 패턴을 단위 테스트하는 방법?
- 4. WebLogic의 하트 비트 메시지 사용자 정의
- 5. Asp.Net에서 "하트 비트"또는 Windows 서비스와 유사한 기능 만들기
- 6. 드루팔 (Drupal 6 : 하트 비트 모듈에서 일부 내용이 누락되었습니다.
- 7. C#으로 작성된 하트 비트 프로세스를 어떻게 변경하겠습니까?
- 8. SQL 서버 "하트 비트"확인을위한 최소 권한은 무엇입니까?
- 9. 하트 비트 디자인 패턴이란 무엇입니까? ASP.NET 세션과 어떤 관련이 있습니까?
- 10. 아이폰 SDK를 사용하여 하트 비트 피크 전력을 감지합니까?
- 11. 하트 비트 시스템을 구축 할 때 어떤 기술을 사용해야합니까?
- 12. 사용의 HttpWebRequest는
- 13. SocketIO + Node - 연결 끊긴 상태 복구하기
- 14. 사용의 jQuery의 XPath 셀렉터
- 15. Katta 사용의 예
- 16. CTE 사용의 장단점은 무엇입니까?
- 17. 안드로이드에서 float 사용의 문제
- 18. 코어 그래픽 사용의 이점
- 19. 하트 비트에서 HAProxy + Socket.IO + TornadIO 상수가 끊김
- 20. Silverlight에서 하트 모양으로 이미지를 클립하는 방법은 무엇입니까?
- 21. node.js, backbone, socketio 및 express와 coffee 스크립트는 모두 함께 사용됩니까?
- 22. 소프트웨어 프레임 워크 사용의 이점
- 23. NServiceBus : NServiceBus 배포자 사용의 장단점
- 24. Maven 사용의 장점/단점은 무엇입니까?
- 25. jQuery를 - 내가 사용의 예를 발견
- 26. 초기화 목록 사용의 장점은 무엇입니까?
- 27. Rhino (모질라 코뿔소) 사용의 이점
- 28. WPF : 창에서 스타일 사용의 예
- 29. Windows 사용의 장단점 Active Setup
- 30. TCP 연결을 열린 상태로 유지하려면 하트 비트가 필요합니까?
놀라운 질문입니다. –