Comunicação através de datagramas
Publicado por Perfil removido 22/07/2007
[ Hits: 6.882 ]
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 04: Main)
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
erro ao clonar repo github (1)
Quais Shell Scripts vocês usam? (15)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (22)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba