Tarefas da Unidade 4 - Comunicação com Sockets 1. Programar um cliente-servidor onde a comunicação é por sockets para datagrams UDP. Um datagrama enviado pelo protocolo UDP, é transmitido do cliente para o servidor, sem reconhecimento. Se uma falha ocorre, a mensagem pode não chegar. Construir uma classe UDPCLient e uma classe UDPServer. 2. A API para o protocolo TCP provê a abstração de "stream de bytes" para o qual, dados podem ser escritos e do qual, dados podem lidos. Fazer uma implementação de um programa cliente-servidor para estabelecer conexões,enviar "requests" e receber "replies". Criar uma classe TCPClient e uma classe TCP Server. Utilizar no cliente a classe Socket para criar sockets do lado do cliente. Utilizar no servidor a classe ServerSocket para criar sockets do lado do servidor. Implementar uma classe Connection que estende a classe Thread, usada para criar e controlar threads. 3. Uma operação multicast envia uma única mensagem de um programa-cliente, para cada membro do grupo, geralmente em um modo que o membro do grupo é transparente a quem envia a mensagem.Implementar um programa de comunicação de grupo (group commnication), por sockets, usando IP Multicast. A API Java para comunicação de grupo usa a classe MulticastSocket para criar sockets multicast. Criar um programa-cliente e o programa Multicast com a classe MulticastPeer para enviar e receber datagramas. Criar sockets com a classe DatagramSocket.