웹페이지에 서버시간 표시하기?

   조회 6779   추천 0    

개인적인 용도로 간단한 웹페이지를 만들고 있습니다.


얼마전 장터에서 15000원에 구매했던 SoliGATE XG350 아톰 시피유 달린 모델에 리눅스 설치하고

여러가지 오픈소스 보안툴을 가지고 타 서버들의 보안성 체크를 대략이나마 좀 하려고 구성 중입니다.

타 서버 특정 폴더 마운트 후 바이러스,악성코드등 검사 후 마운트 해제....뭐 이런 방식이고 crontab에 등록 해 놓고 자동으로 검사를 하고 있습니다.

뭐 이부분은 제가 원하는 방법으로 잘 구동은 되는데 이걸 웹으로 표현하는 대시보드를 만드는 과정에서 웹페이지에 서버의 시간을 

표현하는 방법에 대해 문의 드립니다.

지금은 서버의 시간을 실시간으로 저장해서 웹페이지에 보여주는 방식인데 별로 좋은 방법은 아닌것 같고 (1초에 한번씩 뿌려줌)

구글에 찾아보고 몇가지 방법을 사용해 봤지만 초기시간은 서버시간을 불러와 보여주고 그 후 부턴 자동으로 1초씩 카운트가 되는데

한시간쯤 지나면 시간이 10초 정도 느려지는 증상들이 있습니다.

적당한 구현 방식에 대한 간략한 조언을 좀 얻고자 문의 드립니다.

* 웹서버는 apache + php + mysql 입니다.

그림에 동그라미 친 부분의 시계이고 실제 구동중인 페이지는 아래 링크 주소 입니다.

http://develop.sproc.co.kr 



서버 모니터링, 라즈베리파이에 관심이 많습니다.
http://www.sproc.co.kr
http://rpi.sproc.co.kr
http://noaa.sproc.co.kr
짧은글 일수록 신중하게.
무아 2017-11
>초기시간은 서버시간을 불러와 보여주고 그 후 부턴 자동으로 1초씩 카운트가 되는데 한시간쯤 지나면 시간이 10초 정도 느려지는 증상들이 있습니다.

이 방법이 가장 좋을 듯 한데요.
웹페이지를 1시간 동안 켜두고 있는 일도 없거니와...
처음에 한번만 서버 시간이 필요하고 그 다음 부터는 클라이언트 시계로 계산해주는 것이 합리적이지 않을까요?
1시간에 10초가 틀어진다면 그건 서버쪽의 문제가 아니고 클라이언트의 문제일 듯 하고.
만약 그렇다면 주기적으로 웹페이지를 리프레쉬 해주면 될 듯 하고요.

p.s 클라이언트는 1초마다 타이머로 시계 숫자를 바꾸는 것이 아니라 처음 받아온 시각과 리프레시 시 리얼시각의 차이를 계산해서 주기적으로(1초면 1초로) 시계만 업데이트 되게 해야겠지요.
     
해당 페이지를 출근해서 켜고 퇴근때 끄는, 아주 장시간 켜놓는 상태 입니다.
다른 PC 혹은 스마트 폰에서도 해보았지만 시간 차이가 생기는걸로 봐서는 클라이언트 문제는 아닌듯하여
테스트를 해보니 아래 송진현님 말씀처럼 부수적인 코드를 작동하면서 생기는 + 알파 가 있는 듯 합니다.
only 시계만 표시되는 페이지를 별도로 만들어 테스트 해보니 문제가 없습니다.
고로 부수적인 코드에서 갭을 줄여나갈 방법을 찾아봐야겠습니다.
송진현 2017-11
제가 보기에는
무아님 말씀대로 작동하면서 클라이언트에서 Delay등을 이용해서 +1하는 형태로 코딩되고..
여타 부수적인 코드를 작동하면서 +1+(처리시간)이 합쳐져서 10초정도의 오차가 생기는것이 아닐까 생각합니다.

그래서 찾아봤는데
무아님 말씀처럼 http://slic.tistory.com/595 이러한 방법등으로
클라이언트에서 서버하고 싱크를 맞추는 방법도 나쁘지는 않아보입니다..
     
테스트해보니 송진현님 말씀처럼 부수적인 +알파들이 시간의 갭을 벌리고 있는게 확인이 되었습니다.
곰곰히 고민좀 해봐야 겠습니다 허허허
          
무아 2017-11
그러니까.. 다시 정리하면
1초 짜리 타이머에다가 카운터를 증가시켜서 누적카운트 값을 이용한 시간을 표시하면 나중에 틀어집니다.
1초짜리 타이머가 정확히 1초라는 보장이 없습니다.
그래서 처음 페이지 로딩할 때 서버 시각을 받고, 현재 클라이언트 시간을 별도로 기억하고
1초짜리 타이머에서는
로딩시 서버시각 + (현재 클라이언트 시각 - 별도로 기억했던 클라이언트 시각)
이렇게 계산해서 계산된 시각을 화면에 뿌리면 정확합니다.
클라이언트가 인터넷 시간 동기화까지 되어있다면 몇년이 지나도 표시 시각이 정확할 겁니다.


QnA
제목Page 1803/5724
2014-05   5234863   정은준1
2015-12   1761205   백메가
2017-12   3723   황진우
2017-12   15235   혼자가는길
2017-12   6624   김건우
2017-12   5330   신은왜
2017-12   6808   배상0원
2017-12   6263   늘파란
2017-12   4252   박준영2
2017-12   4488   닉이요
2017-11   5400   Won낙연
2017-11   22137   nynenyang
2017-11   6091   무아
2017-11   4034   신은왜
2017-11   6533   jhsim
2017-11   4689   편한세상
2017-11   6780   경박한시민
2017-11   3713   KindOfBlue
2017-11   4814   빠시온
2017-11   4230   착하게살자2
2017-11   5746   주황별
2017-11   4576   sffbig