>  기사  >  웹 프론트엔드  >  Node.js는 서버와 시간을 효율적으로 동기화합니다.

Node.js는 서버와 시간을 효율적으로 동기화합니다.

php中世界最好的语言
php中世界最好的语言원래의
2018-04-17 11:38:221421검색

이번에는 js를 서버 시간과 효율적으로 동기화하는 방법을 알려드리겠습니다. js가 서버 시간과 효율적으로 동기화하기 위한 주의사항은 무엇인지 살펴보겠습니다.

옵션 1: 서버로 이동하여 카운트다운마다 시간을 요청하세요.

//开启定时器
var timer = setInterval(function () {  
  //执行请求,获取当前服务端时间并进行相应操作
}, 1000);

이 솔루션은 경험이 적은 개발자에게는 바람직하지 않은 것으로 알려져 있습니다. 이는 서버에 상상할 수 없는 압력을 가하고 애플리케이션이 중단될 수 있기 때문입니다. 이 페이지에 1분 동안 머무르면 요청이 60번 전송됩니다. 이때 100명이 이 페이지를 방문한다면 1분에 6,000번의 요청이 발생하게 됩니다. 서버에 불필요한 압력을 가하게 됩니다. 또한 이 솔루션의 카운트다운에는 요청 지연이 있기 때문에 큰 오류가 발생하며 이는 네트워크 상태와도 밀접한 관련이 있습니다.

옵션 2: 서버 타임스탬프

//开启定时器
//假设请求获取到一个时间戳时间差 dateDiff
var timer = setInterval(function () {
  //每秒会获取本地时间,这样就算执行的周期不准确 也可以准确的获取时间差
  var countDown = endTime - (+Date.now())/1000 + dateDiff;
  // 倒计时页面渲染
}, 1000);

에서 서버 시간을 기준으로 카운트다운을 반환합니다. 장점:

페이지 생명주기에서 한 번 요청하면 정확도가 높습니다. 페이지가 오랫동안 열려 있어도 여전히 높은 정확도를 유지합니다
단점:

현재 시간은 1초마다 가져오므로 카운트다운 기간 동안 현지 시간을 고의로 수정하면 카운트다운이 비정상적으로 이루어집니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

이미지 압축을 위한 Js+Canvas

모바일에서 이미지 업로드를 위한 angularJS+Ionic(코드 포함)

위 내용은 Node.js는 서버와 시간을 효율적으로 동기화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.