programing

signalR의 재 연결은 언제 발생합니까?

projobs 2021. 1. 15. 07:32
반응형

signalR의 재 연결은 언제 발생합니까?


SignalR로 작업을 시작했고 언제 Hub Reconnect가 발생하는지 알아 내려고했습니다. 나는 웹에서 만족스러운 설명을 찾지 못했습니다. 누군가 재 연결이 언제 / 왜 발생하는지 설명 할 수 있습니까?


허브 재 연결은 클라이언트가 오프라인이 된 후 곧 다시 연결될 때 발생합니다. SignalR 구성 값은 다음 예제의 타임 스탬프를 크게 결정하므로 시간을 그대로 사용하지 마십시오.

다음은 재 연결 동작과 관련된 몇 가지 예와 그 결과 (시간 형식 m : ss)입니다.

다음을 언급 할 때 나는 서버 측 허브 방법을 언급하고 있습니다.

  • OnConnected
  • OnDisconnected
  • OnReconnected

1)
0:
00-클라이언트가 서버에 연결됨, OnConnected가 트리거
0
:10- 클라이언트 가 ISP 문제로 인해 연결이 끊어짐 (및 연결이 끊어짐을 인식 함) 0 :15- 클라이언트 가 다시 연결됨 0: 16-OnReconnected 이벤트가 트리거 됨

2)
0:
00-클라이언트가 서버에 연결됨, OnConnected가 트리거 됨 0:10-이더넷 케이블을 끌어 당겨 클라이언트 연결이 끊어짐 (연결이 끊어
졌다는 것을 알지 못함) 0:15-클라이언트가 연결을 회복 함
여기서 두 가지 일이 발생할 수 있습니다.
A : 0 : 16-아무 일도 일어나지 않고 클라이언트가 이전 연결로 계속됩니다
. B : 0 : ~ 45-클라이언트가 연결이 끊 겼음을 인식합니다. * B : 0:46-클라이언트
가 재 연결 상태로 전환됩니다.
B : 0:47-클라이언트가 성공적으로 다시 연결되고 OnReconnected 이벤트가 트리거되었습니다.

3)
0:
00-클라이언트가 서버에 연결, OnConnected가 트리거 됨 0:10-클라이언트가 이더넷 케이블을 당겨서 연결이 끊어짐 (연결이 끊겼다는 것을 알지 못함)
0 : ~ 45-클라이언트가 연결이 끊어진 것을 인식 * 0:
46-클라이언트 전환 재 연결 상태로
1:15-서버는 클라이언트가 너무 오랫동안 사라 졌다고 판단한 다음이를 잊어 버렸습니다. 클라이언트가 약간 나중에 다시 연결될 경우 수신 할 "연결 해제"명령을 대기열에 추가합니다. ***
1:15-OnDisconnected가 트리거 됨
1:
16-클라이언트가 다시 연결됨 1:17-클라이언트가 "소프트"재 연결을 수행합니다 (OnReconnected를 트리거하지 않음)
1: 18- 클라이언트가 "disconnect"명령을 검색 함
1:19-클라이언트가 "중지"를 호출하고 소프트 연결 해제를 수행합니다 (OnDisconnected를 트리거하지 않음).

4)
0:
00-클라이언트가 서버에 연결, OnConnected가 트리거 됨 0:10-클라이언트가 이더넷 케이블을 당겨서 연결이 끊어짐 (연결이 끊어진 것을 알지 못함)
0 : ~ 45-클라이언트가 연결이 끊어진 것을 인식 * 0:
46-클라이언트 전환 재 연결 상태로
1:15-서버는 클라이언트가 너무 오랫동안 사라 졌다고 판단한 다음이를 잊어 버렸습니다. 클라이언트가 약간 나중에 다시 연결될 경우 수신 할 "연결 해제"명령을 대기열에 추가합니다. ***
1:15-OnDisconnected가 트리거 됨
1:30-클라이언트가 재 연결 시도를 중지 (너무 오래 시도) **
1:30-클라이언트가 연결 해제 상태로 전환

* 클라이언트 측 연결 유지 검사로 인해 : 연결 유지 부족으로 인해 클라이언트가 오프라인 상태인지 확인하는 데 사용됩니다. 긴 폴링 전송에 사용되지 않음

** 클라이언트 측 연결 해제 시간 초과로 인해 : 클라이언트가 너무 오랫동안 다시 연결 한시기와 서버가 해당 시간 동안 클라이언트를 잊어 버릴 가능성을 확인하는 데 사용됩니다.

*** 서버 연결 해제 시간 초과로 인해 : 클라이언트를 잊어야하는시기를 결정하는 데 사용됩니다. 서버에서 연결이 끊어진 것으로 태그가 지정되면 발생하기 시작하는 시간 범위입니다. 궁극적으로 서버는 새로운 연결을 시작해야 함을 클라이언트 (다시 연결되는 경우)에 알리는 클라이언트의 토픽에 대한 연결 해제 명령을 큐에 넣습니다. 주제가 정리되면 명령이 서버에서 사라집니다.

도움이 되었기를 바랍니다!

참조 URL : https://stackoverflow.com/questions/14455916/when-does-a-reconnect-in-signalr-occur

반응형