import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Main {
    public static void main(String[] args) throws IOException {
        int server_port = 5679;
        ServerSocket listener = new ServerSocket(server_port);
        System.out.println("Listening at " + server_port);

        for (int count = 1; true; count++) {
            Socket socket = listener.accept();
            InputStream input = socket.getInputStream();
            OutputStream output = socket.getOutputStream();
            byte[] buffer = new byte[5];

            int got = input.read(buffer);

            System.out.println(count + " Heard from " + socket.getInetAddress() + " " + socket.getPort());
            for (int i = 0; i < got; i++)
                System.out.printf(" %d", buffer[i]);
            System.out.print("\n");

            output.write(buffer, 0, got);

            socket.close();
        }
    }
}
