[제품종류] IEC1000
[개발환경] Visual Studio 2008 C#
=============== 질 문 ===============SyncDateTime 서버외 연결이 되지 않거나 끊겨있다면
약 20초의 시간이 흘러야 정상화 되는 문제가 있습니다.
Timeout을 걸수는 없을까요?
답변 부탁드립니다 :)
=============== 답 변 ===============
안녕하세요...
말씀하신 SNTP 동기처리시 타입 아웃기능 개선은 적용가능 여부를 금주(10월 4일)까지 확인하도록 하겠습니다. 만약 지원에 어려움이 있는 경우 비동기 호출 방식으로 처리할 수 있는 기능을 추가하도록 하겠습니다. 비동기 방식에서 타임서버 설정 여부는 Event로 지원됩니다.
- 감사합니다.
=============== 답 변 ===============
안녕하세요...
SntpSyncDateTime() 기능과 관련하여 네트워크문제시 대략 25초 이상의 블로킹 현상으로 Connect Timeout기능 추가요청 하셨는데 현제 Windows CE 6.0에서 Low Level Socket에서 Connect Timeout 기능이 지원하지 않아 다음과 같은 대안으로 기능을 추가하였습니다.
< 추가 사항 >
1. void SntpSyncDateTime(string strTimeserver, int iRetry) 메서드가 새롭게 추가되었습니다.
-> 추가된 메서드에서 타임서버 처리시간을 최대 5초로 재한 하였습니다. (기존 25초)
-> 실패에 다른 재시도 횟수를 지정할 수 있도록 추가(iRetry)
2. 새롭게 추가된 메서드는 비동기(논블로킹)메서드로 호출즉시 리턴 하며 타임서버 처리 결과는 Event(ONSntpSyncDateTimeEnded)를 통해서 처리할 수 있도록 하였습니다.
< 사용 방법 >
private void smartButton3_Click(object sender, EventArgs e)
{
smartConfigs1.ControlPanel.SntpSyncDateTime("time.windows.com", 1);
}
private void smartConfigs1_ONSntpSyncDateTimeEnded(bool bSuccess)
{
if (bSuccess == true)
{
smartListBox1.AddItem("타임서버 동기화 성공");
}
else
{
smartListBox1.AddItem("타임서버 동기화 실패");
}
}
< 업데이트 관련 >
해당 기능의 추가 및 업데이트는 공식적으로 SmartX New Framework 5.0.0.12에서 추가되어 업데이트 예정입니다. 만약 지금 바로 적용이 필요하실 경우 아래의 E-Mail로 요청하시면 해당 기능이 추가된 SmartX Framework설치 파일을 보내 드리겠습니다.
Email: smartx@daum.net
- 감사합니다.