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

조회수 1508회

처음으로 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 답변

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

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

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)