파이썬 time.time()이 서버 타임보다 늦는데 문제 없을까요

처음으로 API 사용해보려고 하는데요
가상화폐 거래소에서 데이터를 가져오려고 합니다.

일단 API Document 보면 시간 관련 설명과 로직을 다음과 같이 설명해놨습니다.

timestamp, to be sent which should be the millisecond timestamp of when the request was created and sent.

if (timestamp < serverTime && (serverTime - timestamp) <= recvWindow) {
// process request
} else {
// reject request
}

if에서 앞 조건을 보면 timestamp < serverTime 이기 때문에, request를 날린 제 컴퓨터 시간이 서버시간보다 앞선 시점이 맞는지 확인을 한다는 것 같은데요.

막상 time.time()으로 확인한 제거 시간과 api중 서버 시간을 체크하는 것을 실행해봐서 받은 서버시간값을 비교해보면 오히려 제 컴퓨터 시간이 더 큰걸(늦는걸) 확인할 수 있습니다.

이런 경우 문제가 되지는 않는지, 문제가 있다면 어떻게 처리해야 하는지 궁금합니다.

1답변

  • 좋아요

    1

    싫어요
    채택취소하기

    Request를 요청한 시점의 타임스탬프 만들어 보내면 받는 쪽은(서버는) 네트워크 시간 비용이 소요되기 때문에 무조건 타임 스탬프 시간보다 이후의 시간이니 정상적인 요청일 경우 서버 시간이 타임스탬프보다 더 커야하구요.

    또, 지나치게 차이가 나면 안되니까 recvWindow에 변수로 보정해주는 유효한 시간을 밀리세컨드로 가지고 비교하는 것으로 보입니다.

    • 넵. 로직은 이해했는데, 이상하게 제 컴퓨터 시간이 서버에서 받아온 시간보다 더 늦어서요.. AshtrayK 2017.12.30 15:01

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.