Comunicação através de datagramas
Publicado por Perfil removido 22/07/2007
[ Hits: 7.222 ]
Este script mostra um simples exemplo da utilização de datagramas na comunicação entre dois computadores.
Temos a classe principal que contém duas Threads (servidor e cliente funcionando ao mesmo tempo), classe servidor e a classe cliente.
Obrigado.
Espero ter ajudado.
//Classe principal
public class Principal {
public static void main(String args[]){
Servidor threadservidor= new Servidor();
Cliente threadcliente= new Cliente();
threadservidor.start();
threadcliente.start();
threadcliente.setPriority(1);
threadservidor.setPriority(10);
}
}
//Classe Cliente
public class Cliente extends Thread{
private int portareceber= 5000;
private DatagramSocket datagram=null;
private byte dados[]= new byte[2048];
private String mensagem= null;
public void run(){
try {
datagram= new DatagramSocket(5000);
DatagramPacket pacote = new DatagramPacket(dados, dados.length);
do{
//Recebendo dados.
datagram.receive(pacote);
//Transformando bytes em String.
mensagem = new String(pacote.getData(),0,pacote.getLength());
//Imprimindo mensagem.
System.out.print("Mensagem c: ");
System.out.print(mensagem);
}while(!mensagem.equals("exit"));
}catch(Exception e){System.out.print("Erro.");}
datagram.close();
}
}
//Classe Servidor
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class Servidor extends Thread {
private int portaenviar = 5000;
private String mensagem = "";
private String enderecoenviar = "leserc-17";
private byte dados[] = null;
DatagramSocket datagram = null;
BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
public void run() {
try {
//Instanciando.
datagram = new DatagramSocket(portaenviar);
//Criando endereco IP.
InetAddress enderecoIP = InetAddress.getByName(enderecoenviar);
do {
// Lendo mensagem.
System.out.print("Mensagem s: ");
mensagem = ler.readLine();
// Tranformando em bytes.
dados = mensagem.getBytes();
// Criando o pacote datagram.
DatagramPacket pacote = new DatagramPacket(dados, dados.length,
enderecoIP, portaenviar);
// Enviando pacote.
datagram.send(pacote);
} while (!mensagem.equals("exit"));
} catch (Exception e) { System.out.print("Erro servidor.");
}
datagram.close();
}
}
Um pouco de Java e Sockets. (Fonte 03: Recebedor)
Um pouco de Java e Sockets. (Fonte 04: Main)
Um pouco de Java e Sockets. (Fonte 02: Enviador)
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









