사용자가 지속적으로 연결되어야하는 웹 응용 프로그램이 있습니다. 기본적으로 socket.io는 60 초 후에 연결을 끊습니다. 나는 '재 연결'을 켜기 때문에 매분마다 연결을 닫고 다시 엽니 다. 이로 인해 연결된 클라이언트에 대한 피드/알림에 문제가 발생할 수 있습니다. 이 제한 시간을 설정하여 10 분 또는 그 이상으로 설정하는 것이 안전할까요? 그게 지금 당장 낮은 이유가 있니?socket.io에 높은 닫기 시간 제한을 설정하는 것이 안전합니까?
9
A
답변
3
나는 소켓이 60 초 후에 연결이 끊어지지 않을 것이라고 생각하지 않습니다. 나는 그것이 실제로 일어나고 있는지 조사 할 것이다. 핸드 셰이 킹을 올바르게 수행 한 후에는 클라이언트 또는 서버가 연결을 종료 할 때까지 소켓이 하트 비트를하고 무기한으로 열려 있어야합니다 (네트워크 문제가 발생하지 않음). 이는 확실히 내 경험입니다.
실제로 핸드 셰이크가되지 않거나 하트 비트가 수신되지 않는 것처럼 연결이 실제로 종료된다는 사실.
10
제 생각에 'close timeout'
구성을 잘못 해석 한 것 같습니다. 60 초 후에 연결이 닫히지 않습니다. (클라이언트가 끊임없이 다시 연결되면 하트 비트는 무의미합니다.)
클라이언트가 연결을 끊으면 close timeout
은 서버가 해당 연결과 관련된 리소스를 해제하기 전에 대기하는 시간입니다. 본질적으로 이는 간헐적 인 연결 문제가있는 클라이언트가 서버가 서버를 잊어 버리기 전에 다시 연결을 시도 할 수있게합니다. 서버 리소스를 묶어주기 때문에 close timeout
을 10 분으로 설정하는 것은 나쁜 생각 일 수 있습니다.
클라이언트가 실제로 60 초마다 연결을 끊으면 samjm이 말한 것처럼 다른 점이 있습니다.
0
이미 알았을 지 모르지만 하트 비트 ("2 ::")를 서버로 다시 보내지 않으므로 소켓이 60 초 후에 연결이 끊어 질 수 있습니다.
다음은 websocket client module과 작동하는 일부 Python 코드입니다.
# on_message handles messages from the server
def on_message(ws, message):
if message[:3] == '2::':
ws.send('2::')
관련 문제
- 1. 휴식 시간을 위해 세션 시간 제한을 설정하는 것이 좋습니다.
- 2. awakeFromNib에서보기의 값을 설정하는 것이 안전합니까?
- 3. android에서 시간 제한을 설정하는 방법
- 4. UJS에서 시간 제한을 설정하는 방법?
- 5. 하루 종일 세션 시간 제한을 설정하는 것이 좋습니다.
- 6. 비동기 호출 시간 제한을 설정하는 방법
- 7. Neo4j Server : 연결 시간 제한을 설정하는 방법
- 8. 대화 상자에 시간 제한을 부여하는 것이 가능합니다.
- 9. 캐스팅하지 않고 int를 double로 설정하는 것이 안전합니까?
- 10. 블록 내에서이 속성을 설정하는 것이 안전합니까?
- 11. 비밀번호 필드를 attr_accessible로 설정하는 것이 안전합니까?
- 12. MaxJsonLength는 항상 최대 값으로 설정하는 것이 안전합니까?
- 13. dataWithContentsOfURL에 대한 시간 제한을 설정하는 방법 : url
- 14. 장고 데이터베이스 연결 시간 제한을 설정하는 방법
- 15. 별표로 FastAGI의 시간 제한을 설정하는 방법
- 16. Socket.ConnectAsync의 시간 제한을 설정하는 방법은 무엇입니까?
- 17. 아파치에서 응답 시간 제한을 설정하는 방법
- 18. 2checkout 지불 시간 제한을 설정하는 방법?
- 19. 안드로이드에서 취소 가능한 시간 제한을 설정하는 방법
- 20. vxml에서 통화 지속 시간 제한을 설정하는 방법
- 21. TCP 연결 시간 제한을 설정하는 방법은 무엇입니까?
- 22. mysql C++ 커넥터에서 시간 제한을 설정하는 방법
- 23. cmd 명령의 시간 제한을 설정하는 방법은 무엇입니까?
- 24. Ruby 코드를 실행할 시간 제한을 설정하는 방법
- 25. redis 연결 시간 제한을 설정하는 방법은 무엇입니까?
- 26. MongoClient 연결 시간 제한을 설정하는 방법은 무엇입니까?
- 27. 파이썬에서 팝업 시간 제한을 설정하는 방법은 무엇입니까?
- 28. 발리에 대한 연결 시간 제한을 설정하는 방법?
- 29. MFC 스레드에 시간 제한을 설정하는 방법
- 30. TIdHTTPProxyServer에 대한 시간 제한을 설정하는 방법 (연결 시간 초과가 아님)