Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
Focalizamos os dois lados do relacionamento cliente/servidor. O cliente solicita
que alguma acção seja realizada e o servidor realiza a acção e responde para o
cliente.
Problema
Um cliente deseja saber o tamanho de uma String fazendo uso dos serviços
oferecidos pelo servidor. O cliente envia um datagrama e espera a resposta
(quantidade de caracteres que compõe a String). Implemente um programa
cliente-servidor que permite resolver o problema.
Orientações
Crie um projecto chamado ComunicacaoPorUDP com o método main,
renomeie o arquivo “ComunicacaoPorUDP.java” por “Servidor.java”.
Crie uma outra classe Cliente com o método main na pasta
“comunicacaoporudp”.
Lembra que esse é um laboratório, faça como está abaixo, a menos que
haja erro.
Solução
Classe Servidor
package comunicacaoporudp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
/**
*
* @author D.N.Kasso
*/
public class Servidor {
try {
DatagramSocket socket = new DatagramSocket(49157);
//Especificar o vector de bytes para receber mensagens.
byte[] buffer = new byte[1024];
DatagramPacket pacoteAReceber = new DatagramPacket(buffer,
buffer.length);
socket.receive(pacoteAReceber); //Recebe do cliente
int tamanho = pacoteAReceber.getLength();
String s = Integer.toString(tamanho);
DatagramPacket pacoteAEnviar = new DatagramPacket(s.getBytes(),
s.length(), pacoteAReceber.getAddress(), pacoteAReceber.getPort());
socket.send(pacoteAEnviar); //Envia resposta ao cliente
} catch (SocketException ex) {
}
Classe Cliente
package comunicacaoporudp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import javax.swing.JOptionPane;
/**
*
* @author D.N.Kasso
*/
public class Cliente {
}
}