문제

내가 개발하는 웹 사이트를 검색하는 SMS 메시지는 발송되었습니다비스를 제공하는 데 도움이 됩니다.게이트웨이를 통해 액세스한 API,요청에 다음과 같은 형식으로:

http://www.smsgateway.com/?login=myusername&password=mypassword&lasttime=1236164238

통지는 내가 하는 트랙 마지막 메시지를 다운로드-만 받은 메시지 후에는 시간이 반환됩니다.

문제는 시간의 차이에 대해 5 분이면 서버!여기에 무슨 일이:

->사용자에게 SMS;게이트웨이 서버에 타임스탬프 11.00(자의 실제 시간이 10.55 도)

->는 내 서버에 요청을 보내는 모든 메시지에서 10.56 이후-받 위의 메시지가 그를 데이터베이스

->는 내 서버에 요청을 보내는 모든 메시지에서 10.58 이후-받 위의 메시지는 추가 그것을 다시,이후 타임 스탬프가에 11.00

->내 서버로 보내고,다른 요청에 11.00-메시지를 받고 그것을 추가한 데이터베이스는 한 번 더

그래서 내 문제는 하나 원래의 메시지를 받은 3 시간.

변화하는 내 서버의 시간이 할 수 있지만,원격 서버에 있습니다.

할 수 있는 방법이 없는지 확인하는 메시지 데이터베이스에서 이미?

도움이 되었습니까?

해결책

을 받을 때에 보내는 메시지에서 10.56 이후부터,체크인 마지막 메시지 시간:말 11:00a.m,다음 다음 호출만 보내에서만 11:00a.m 기 때문에 당신이 이미 받은 개까지 11:00a.m 의 서버의 시간입니다.이 방법을 줄일 수 있습니다 설문 조사.도이면 서버의 시간에서 역전 상태입니다.

ie)확인을 위한 마지막 메시지 시간:

다음 설문 조사 확인서 마지막 메시지의 시간입니다.

다른 팁

기본 설치가 정확성,경우에도 당신은 유지하는 두 개의 서버 시계에서 동기화할 것입니다 하나를 잃거나 두 번에 메시지를 공유하는 타임 스탬프(할 수 있는 많은 또는 몇에 따라 타임스탬프도와 메시지 트래픽).

당신은 것 중 하나가 필요 서로 다른 API 에 대한 액세스하는 메시지 또는 당신을 요청하는 겹치는 메시지를 통해 메시지를 요청 이후 latest_processed_timestamp - 1 과 중복을 당시의 쪽에 있습니다.

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