これは私が考えることができる最も単純なクライアント コードです。
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
// java Syslog localhost "Hello world"
public class Syslog {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getByName(args[0]);
byte[] bytes = args[1].getBytes();
DatagramSocket socket = new DatagramSocket();
try {
DatagramPacket data = new DatagramPacket(bytes, bytes.length, address, 514);
socket.send(data);
} finally {
socket.close();
}
}
}
そしてサーバー (syslogd):
import java.net.DatagramPacket;
import java.net.DatagramSocket;
// java SyslogD
public class SyslogD {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(514);
try {
for(;;) {
DatagramPacket data = new DatagramPacket(new byte[4096], 4096);
socket.receive(data);
System.out.println("[" + data.getAddress().toString() + "] " + new String(data.getData(),0,data.getLength()));
}
} finally {
socket.close();
}
}
}