문제

로컬 연결 손실을 감지하려고합니다. Corelabs 구성 요소의 이벤트와 마찬가지로 그렇게해야 할 의미가 있습니까?

감사

편집 : 죄송합니다.보다 구체적으로 노력할 것입니다. 현재 DataSNAP 2009를 사용하여 프로토 타입을 설계하고 있습니다. 따라서 얇은 클라이언트, 무국적 서버 앱 및 데이터베이스 서버가 있습니다.

내가 할 수있는 것은 클라이언트와 서버 앱 간의 연결 손실 (인터넷 연결)을 감지하고 처리하여 적절하게 처리하는 것입니다. 즉, 사용자에게 유익한 오류 메시지를 표시하거나 서버 종료를 감지하여 조용히 리디렉션하는 것입니다. 다른 앱 서버.

2 계층에서는 ODAC 구성 요소를 사용하여이를 관리하는 데 사용했지만 Torasession에는이 문제를 처리 할 수있는 몇 가지 이벤트가 있습니다.

도움이 되었습니까?

해결책

일반적으로 데이터베이스에 대해 명세서가 발사되지 않는 한 연결이 끊어지면 이벤트가 발생하지 않습니다. 어떤 종류의 IS-alive Pinging이 진행되지 않는 한 연결 손실을 알 수있는 방법이 없기 때문입니다.

많은 프레임 워크는 서버에 대해 매우 작은 쿼리를 수행하여 연결이 여전히 유효한지 확인합니다. 서버에서 시간을 얻을 수 있습니다. 특히 연결 풀링 환경에서.

일부 데이터베이스 이벤트에서 응용 프로그램에서 연결 검사 기능을 구현할 수 있습니다 (PreeceCute?). 또는 10 초마다 점검하는 타이머를 만드십시오.

다른 팁

클라이언트의 스레드를 스폰하여 RPC 'Ping'또는 'HeartBeat'명령을 서버에 주기적으로 보냅니다.

  • 이것이 실패하면 클라이언트는 연결에 무슨 일이 일어 났음을 알고 있습니다.

  • 서버가 더 이상 클라이언트를 더 이상 듣지 못하면 (예를 들어, 하트 비트 간격의 두 배) 클라이언트가 연결이 끊어 졌다고 결론을 내릴 수 있지만, 이는 상태가 완성 된 서버가 필요하므로 이벤트 처리가 필요합니다. 메시지 대기열을 통해 공급 될 수있는 보조 시스템에서

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top