| 분류 | 게시판 |
| 베스트 |
|
| 유머 |
|
| 이야기 |
|
| 이슈 |
|
| 생활 |
|
| 취미 |
|
| 학술 |
|
| 방송연예 |
|
| 방송프로그램 |
|
| 디지털 |
|
| 스포츠 |
|
| 야구팀 |
|
| 게임1 |
|
| 게임2 |
|
| 기타 |
|
| 운영 |
|
| 임시게시판 |
|
애들이 어린 초등학교 시절 한컴타자속도 100타 단위 당 용돈을 주기로 했습니다.
100타 : 만원, 200타 : 2만원, 300타 : 3만원 이런식으로 설정하고
짧은글 5회 연속에서 달성하면 지급하였습니다.
둘째는 조금 연습해보다 포기하여 도전조차 안하고 첫째는 중간 중간 몇번의 시도에서 실패한적도 있지만 300타 까지 달성하여 받아 갔지요.
저의 경우엔 키보드 위치가 암기되지 않으면 300타 달성이 어려웠던 기억이 있어 딱 300타 정도까지만 설정했습니다.
요즘은 게임할때 해드셋 끼고 음성으로 하는걸보니 굳이 용돈줘가며 괸히 시켰단 생각이.....
암튼 이제 와이프님의 퀘스트를 해야 합니다.
컴퓨터 사용 시간 통제 개발하기1 에서 개발한 소스는 단순 시스템 시간을 가저와 체크 합니다.
두가지 결함이 존재하는데 하나는 윈도우에서 시간을 변경하거나, 표준시간대를 변경하면 시간이 변경되어
무력화 됩니다.
이제 서버 타임으로 체크를 하여야 하겠다고 생각하고,
서버가 없는데 이 시간을 어떻게 받아 올까 고민해 봅니다. 회사서버를 쓰면 법적으로 차후 곤란해지니 이건 제외 하고,
잠간의 검색으로 생각보다 간단한 방법을 찾습니다.
http의 헤더에 해당 서버의 시간정보가 있어 이걸 이용하기로 합니다. 네이버 고맙다.!!
네트워크가 죽은 상태에서는 표준시간대 변경하는 경우에 대하여도 차단해야 하지요. 네이버가 장애가 발생할수도 있구요.
시간을 변경하면 무력화 할수 있지만 요즘은 온라인게임이 거의 주력이라
첫째가 오프라인 게임을 밤 세워가며 즐길일 없기에 시간제어는 이정도면 안심해도 될것 같습니다.
소스코드(VB)

label1 은 네이버의 서버타임을 출력하고
label2 는 시스템의 한국표준시간을 출력합니다.
| Imports System.Net Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Try Dim wc As New WebClient() Dim url As String = "https://www.naver.com" wc.DownloadString(url) ' 요청을 보내 응답 헤더를 받음 Dim dateHeader As String = wc.ResponseHeaders("Date") If Not String.IsNullOrEmpty(dateHeader) Then Dim serverTime As DateTime = DateTime.Parse(dateHeader) Label1.Text = serverTime Else Label1.Text = "HTTP 응답에 Date 헤더가 없습니다." End If Catch ex As Exception Label1.Text = "오류: " & ex.Message End Try Dim localTime As DateTime = DateTime.Now ' PC 타임 Dim koreaTimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Korea Standard Time") '한국표준시간. Dim koreaTime As DateTime = TimeZoneInfo.ConvertTimeFromUtc(TimeZoneInfo.ConvertTimeToUtc(localTime), koreaTimeZone) '로컬시간을 한국표준시간으로 변경 Label2.Text = koreaTime End Sub End Class |

실행후 확인이 됩니다.
죄송합니다. 댓글 작성은 회원만 가능합니다.