Nao to conseguindo fazer com que o servidor envie uma resposta para o cliente para certificar que a mensagem foi recebida, entenderam?
O terminal é:
import <a href="http://java.net">java.net</a>.<em>;
import java.util.Scanner;
import java.nio.</em>;
public class Cli
{
public static void main (String [] args)
{
try
{
DatagramSocket ds = new DatagramSocket(1500);
//criar um pacote e empacotar o número inteiro
Scanner s = new Scanner(System.in);
System.out.println("Digite um número: ");
int numero = s.nextInt();
System.out.println("Outro:");
int numero2 = s.nextInt();
System.out.println("Outro");
int numero3 = s.nextInt();
System.out.println("Frase: ");
String frase = s.next();
int tam = frase.length();
int i;
ByteBuffer buffer = ByteBuffer.allocate(500);
buffer.putInt(numero);
buffer.putInt(numero2);
buffer.putInt(numero3);
buffer.putInt(tam);
for(i = 0; i < tam; i++)
{
buffer.putChar(frase.charAt(i));
}
byte [] dados = buffer.array();
DatagramPacket dp = new DatagramPacket(dados, 500);
//envia para a porta 1400 do servidor
dp.setPort(1400);
dp.setAddress(InetAddress.getByName("localhost"));
//transmitir pacote para o servidor
ds.send(dp);
ds.close();
}
catch(Exception e)
{
}
}
}
e o servidor;
import <a href="http://java.net">java.net</a>.<em>;
import java.nio.</em>;
public class Ser
{
public static void main (String [] args)
{
try
{
//Cria um socket UDP para receber dados na porta 1400
DatagramSocket ds = new DatagramSocket(1500);
//Criar um pacote vazio para receber os dados
//(Vai receber 4 bytes do cliente)
byte [] dados = new byte[500];
DatagramPacket dp = new DatagramPacket(dados, 500);
//aguardar o recebimento de um pacote
ds.receive(dp);
//se chegou aqui, quer dizer que recebeu um pacote
ByteBuffer buffer = ByteBuffer.allocate(500);
buffer.put(dados);
int numero = buffer.getInt(0);
int numero2 = buffer.getInt(4);
int numero3 = buffer.getInt(8);
int tam = buffer.getInt(12);
int i;
String frase = "";
for(i = 16; i < 16+(tam*2); i++)
{
frase += buffer.getChar(i);
i++;
}
System.out.println("Número recebido pelo servidor é " + numero);
System.out.println("Outro: " + numero2);
System.out.println("Outro " + numero3);
System.out.println("Frase: " + frase);
ds.close();
}
catch(Exception e)
{
}
}
}
Se alguem puder ajudar ai, agradeço.
Flw