여러 개의 socket.io 서버 (ALB 밸런싱)의 경우 클라이언트가 '전송 오류'를 나타내는 두 노드에 연결되고 연결이 끊어집니다. 이상적으로는 하나의 노드에 연결되어 해당 노드에 연결되어 있어야합니다. ALB에 하나의 노드가있는 경우 연결은 계속 유지됩니다. 어떤 도움 ??socket.io 클라이언트의 연결이 반복적으로 끊어짐
1
A
답변
1
기본적으로 socket.io를 처음 시작하면 http 폴링 모드로 시작됩니다. 몇 차례의 순차적 인 HTTP 요청과 양끝의 기능 확인이 끝나면 webSocket 모드로 전환됩니다. 이것은 작업 연결을 먼저 만들고 양쪽 끝에서 webSocket이 지원되는지를 결정하고, 그렇다면 webSocket을 사용하도록 전환하기 위해 수행됩니다. 비 끈적한로드 밸런서를 가지고 있다면, 처음 몇 개의 HTTP 폴링 요청에 문제가 생길 수 있습니다. 다른 서버에서 끝나면 단일 서버에 몇 개의 연결이 누락되어 socket.io의 작동 방식이 손상 될 수 있습니다. 시동 순서.
부하 분산 장치를 고정적으로 구성하여 동일한 클라이언트를 항상 동일한 서버로 보내거나 socket.io에 webSocket 모드로만 연결하도록 지정할 수 있습니다. 여기서 볼 수 있듯이
가 웹 소켓없이 폴링 (그래서 그냥 하나의 연결)를 사용하는 경우에만에 socket.io를 구성하려면 클라이언트에서 구성 옵션을 설정할 수 있습니다Socket.io 1.x: use WebSockets only?
명심 socket.io에는 자동 연결 논리가 있으므로 서버에 대한 socket.io 연결을 설정 한 후 얼마 지나지 않아 연결이 작동하지 않으면 클라이언트는 현재 연결을 끊고 새 연결을 시도합니다. 여전히 끈적이지 않은로드 밸런서를 사용하는 경우 해당 재 연결은 다른 서버에서 종료 될 수 있습니다. 서버에서 수행중인 작업에 따라 문제가 발생할 수도 있고 그렇지 않을 수도 있습니다. 고정로드 균형 조정을 사용하면 재 연결이 동일한 서버에서 끝납니다.
관련 문제
- 1. NodeJS와 MongoDB 연결이 끊어짐
- 2. 유휴 혜성 연결이 끊어짐
- 3. 로그 데이터베이스 연결이 끊어짐
- 4. mysql에서 연결이 끊어짐 C++
- 5. 확대/축소시 연결이 끊어짐
- 6. 연결이 끊어짐 재 연결
- 7. AVCaptureVideoPreviewLayer iOS5에서만 연결이 끊어짐
- 8. Wlan에서 DSL 연결이 끊어짐
- 9. POCO 연결이 끊어짐
- 10. 간혹 노드간에 연결이 끊어짐
- 11. 노드 JS 및 Socket.IO. 클라이언트의 연결이 끊어졌습니다. 요청하는 동안
- 12. Socket.io : 두 번째 연결에서 첫 번째 클라이언트의 연결이 끊어졌습니다.
- 13. 연결이 끊긴 클라이언트의 닉네임 얻기
- 14. socket.io 클라이언트의 ERR_CONNECTION_TIMED_OUT
- 15. 연결이 끊어짐 오류 Tomcat 7
- 16. 레일스 애플리케이션에 데이터베이스 연결이 끊어짐
- 17. DelayedJob과`master_slave_adapter`; 마스터 연결이 끊어짐
- 18. 최대 절전 모드 - 연결이 끊어짐
- 19. Visual Studio와 TFS 연결이 끊어짐
- 20. Meteor 클라이언트의 연결이 끊어졌습니다.
- 21. "클라이언트의 연결이 끊김"HttpException
- 22. CoreBluetooth가 반복적으로 연결이 끊어졌습니다.
- 23. 클라이언트의 인터넷 연결이 끊어 졌는지 어떻게 알 수 있습니까?
- 24. SignalR .NET 클라이언트의 연결이 끊어졌습니다.
- 25. WS 클라이언트의 TIME_WAIT 연결이 많습니다.
- 26. 사용자 비활성 기간 후 WiFi 연결이 끊어짐
- 27. python - 데몬에서 postgresql에 대한 연결이 끊어짐
- 28. java.net.SocketException : 소프트웨어로 인해 연결이 끊어짐 : connect
- 29. 클라이언트 예외 : 소프트웨어 연결이 끊어짐 : recv failed
- 30. 모든 GNU 화면에서 Vim의 cscope 연결이 끊어짐
폴링이 아닌 전송을 websocket으로 직접 사용하여 연결하는 데 따른 단점은 무엇입니까? –
@VikasGoyal - 웹 소켓을 지원하지 않는 브라우저에서 실행하면 연결되지 않습니다. socket.io는 일반적으로 누락 된 webSocket 대신 http 폴링을 대체하여 해당 조건을 처리합니다. – jfriend00