Comunicação através de datagramas
Publicado por Perfil removido 22/07/2007
[ Hits: 7.015 ]
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)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Toda vez que tento atualizar o clamav me deparo com erros ao atualizar... (0)
Meu notebook não está funcionando no monitor secundário (2)
Queria saber se existe alguma forma de desistalar programa no ubuntu s... (2)
Quero saber sobre os melhores aplicativos de office para usar em 2024 ... (1)