UDP Client and Server implementation.
The UDP server's (UDPServer)open and close methods open/close a datagram socket (DatagramSocket interface. Implementing classes should be platform specific) for a given address and port, which will start a UDP Listener.
This UDP listener (UDPListener) therefore listens to this given address and port for incoming datagram packets,
which it then passes on the the UDP Datagram Handler (UDPDatagramHandler) which will open each datagram packet in a separate thread.
A datagram packet is modelised by the Datagram class (containing information about the address, the port, the data socket from which it stems, and the content length.). The UDP Client )UDPClient uses its
given address and port to create a datagram socket, to in turn be able to send messages.