반응형
시간 동기화를 위해 타임 서버의 시간을 기준으로 하는 경우가 많습니다.
사람들이 가장 많이 사용되는 방법이 rdate 명령어를 사용하는 것 같습니다.
명령어를 통해 시스템 시간을 동기화하는 방법은 다음에 알아보기로 하고 이번에는 JAVA에서 타임 서버 시간을 가져오는 방법에 대해 알아보도록 하겠습니다.
1. 라이브러리
jar 파일인 경우
commons-net-3.7.jar
Maven dependency
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.7</version>
</dependency>
2. 예제 소스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import java.net.InetAddress;
import java.util.Date;
import org.apache.commons.net.ntp.NTPUDPClient;
import org.apache.commons.net.ntp.TimeInfo;
public class TimeTest {
public static void main(String[] args) throws Exception {
// 타임서버 host
String serverName = "time.bora.net";
NTPUDPClient client = new NTPUDPClient();
InetAddress inetAddr = InetAddress.getByName(serverName);
TimeInfo timeInfo = client.getTime(inetAddr);
// Returns time at which time message packet was received by local machine.
long returnTime = timeInfo.getReturnTime();
// 시간 확인
Date serverDate = new Date(returnTime);
System.out.println(serverDate);
}
}
|
cs |
위 예제에서는 time.bora.net을 사용했지만 다른 서버를 사용해도 됩니다.
그리고 가져온 시간(getRetrunTime)은 long 타입입니다.
본인이 원하는 타임 서버의 host를 입력하여 실행시키면 됩니다.
728x90
반응형
'IT, 개발 > JAVA' 카테고리의 다른 글
JAVA - 자바 파일 삭제하기 / 파일 이름, 경로 바꾸기 (delete() / renameTo()) (0) | 2022.09.22 |
---|---|
RabbitMQ MQTT - JAVA publish / subscribe 에제 (eclipse.paho) (0) | 2022.09.09 |
AMQP RabbitMQ Topic Exchange 통신 예제 (JAVA 예제) (0) | 2022.08.30 |
AMQP RabbitMQ Direct Exchange 통신 예제 (JAVA 예제) (0) | 2022.08.29 |
JAVA - Json을 Map으로 / Map을 Json으로 형변환(Json to Map, Map to Json) (0) | 2022.08.19 |