import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.SocketTimeoutException;

public class BatasWaktuServer {
    public static void main(String[] args) throws IOException {
        // SO_TIMEOUT membatasi lama accept() menunggu klien
        ServerSocket server = new ServerSocket(0, 1, InetAddress.getLoopbackAddress());
        server.setSoTimeout(300);

        try {
            server.accept(); // tidak ada klien yang datang
            System.out.println("klien diterima");
        } catch (SocketTimeoutException e) {
            System.out.println("jenis galat  : " + e.getClass().getSimpleName());
            System.out.println("pesan galat  : " + e.getMessage());
        } finally {
            server.close();
        }
    }
}
