public class SimpleNTPServer
extends java.lang.Object
implements java.lang.Runnable
Modifier and Type | Field and Description |
---|---|
private int |
port |
private boolean |
running |
private java.net.DatagramSocket |
socket |
private boolean |
started |
Constructor and Description |
---|
SimpleNTPServer()
Create SimpleNTPServer listening on default NTP port.
|
SimpleNTPServer(int port)
Create SimpleNTPServer.
|
Modifier and Type | Method and Description |
---|---|
void |
connect()
Connect to server socket and listen for client connections.
|
int |
getPort() |
protected void |
handlePacket(java.net.DatagramPacket request,
long rcvTime)
Handle incoming packet.
|
boolean |
isRunning()
Return state of whether time service is running.
|
boolean |
isStarted()
Return state of whether time service is running.
|
static void |
main(java.lang.String[] args) |
void |
run()
main thread to service client connections.
|
void |
start()
Start time service and provide time to client connections.
|
void |
stop()
Close server socket and stop listening.
|
private int port
private volatile boolean running
private boolean started
private java.net.DatagramSocket socket
public SimpleNTPServer()
public SimpleNTPServer(int port)
port
- the local port the server socket is bound to, or
zero
for a system selected free port.java.lang.IllegalArgumentException
- if port number less than 0public int getPort()
public boolean isRunning()
public boolean isStarted()
public void connect() throws java.io.IOException
java.io.IOException
- if an I/O error occurs when creating the socket.public void start() throws java.io.IOException
java.io.IOException
- if an I/O error occurs when creating the socket.public void run()
run
in interface java.lang.Runnable
protected void handlePacket(java.net.DatagramPacket request, long rcvTime) throws java.io.IOException
request
- incoming DatagramPacketrcvTime
- time packet receivedjava.io.IOException
- if an I/O error occurs.public void stop()
public static void main(java.lang.String[] args)