Pular para o conteúdo principal

Como enviar mensagem via UDP em JAVA - PARTE I - Client

Esse artigo é legal para quem pretende usar sockets UDP em aplicações Java , a partir desse código dá para desenrolar em outras aplicações mais interessantes.


código cliente


import java.io.*;

import java.net.*;

public class UDPClient {

  
    public static void main(String[] args) {

    
        try {
            // Criação de sockets UDP - Datagramas
            DatagramSocket aSocket    = new DatagramSocket( );
            //mensagem é o primeiro argumento do executavel
            //tem que ser enviado em bytes
            byte[ ]   m   = args[0].getBytes();
            //descobre o nome do endereço a partir do ip
            InetAddress    aHost      = InetAddress.getByName(args[1]);
            //imprime o nome relativo ao IP
            System.out.println("Host :" + aHost.getHostName( ) );
            //porta do servidor
            int            serverPort = 6789;
            //montagem do pacote a ser enviado
       DatagramPacket request    = new DatagramPacket(m, args[0].length(), aHost, serverPort);
           //envio do pacote via o socket UDP
            aSocket.send(request);
            //tamanho do buffer de recebimento da mensagem
            byte[  ]   buffer = new byte[1000];
            //pacote de recebimento de resposta (enviado do server)
            DatagramPacket reply  = new DatagramPacket(buffer, buffer.length);
            // recebimento da mensagem 
            aSocket.receive(reply);
            //imprimir a mensagem recebida ( um eco da mensagem )
            System.out.println("Reply: " + new String(reply.getData()));
            aSocket.close(); //fechamento do socket
        } catch (SocketException e) {
            System.out.println("Socket:" + e.getMessage());
        } catch (IOException e) {
            System.out.println(" IO: " + e.getMessage());
        }
    }
}


Antes de rodar o aplicativo você precisa configurar os argumentos para a aplicação funcionar da seguinte maneira:


- Argumento 0 : mensagem a ser enviada ao servidor
- Argumento 1 : endereço ip do servidor

Vá ao menu executar e procure a opção Definir configuração do projeto. 
Na janela que aparecer procure a opção executar:
Coloque a mensagem como primeiro argumento e o numero IP do servidor , no exemplo coloquei o endereço de loopback ( o mesmo da minha maquina ).


Depois dessa configuração basta mandar rodar o aplicativo, só que antes de experimentar o código precisamos implementar o software Servidor que é o próximo post .



Comentários

Postagens mais visitadas deste blog

Projetos em Sala de aula

A educação baseada em projetos vem sendo usada como uma metodologia poderosa para melhor preparar estudantes do século 21, já que leva os alunos a trabalhar em conjunto, se organizar, pesquisar e executar harmonicamente. Porém, antes de levar a metodologia para a sala de aula, será que os professores sabem como e quais projetos trabalhar em suas disciplinas? Uma dessas novidades é o  PBLU (Project Based Learning University ), plataforma gratuita que ajuda a capacitar professores para o uso de projetos em suas disciplinas, como uma forma de agregar conteúdo e motivar os estudantes. Conheça os oito pontos principais para um bom programa de aprendizagem baseada em projeto: Ter conteúdo relevante.   O objetivo da abordagem é trabalhar os conceitos-chave das disciplinas acadêmicas a partir de um projeto. Desenvolver habilidades para o século 21.   Ao longo do projeto, os alunos deverão buscar uma resposta a um problema. Para isso, eles deverão buscar referências...

Video Aulas de Java já disponíveis no 4Shared

Turma segue as video aulas já disponíveis para download no 4Shared , espero que vocês gostem das aulas e por favor postem um comentario no blog dizendo o que vc's acharam preciso desse feed back para o constante aprimoramento das aulas . Basta escolher o arquivo clickar  no link para download ( tenha paciencia os arquivos são grandes ) <p>&lt;p&gt;&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;gt;se&amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;gt;&lt;/p&gt;</p> Se a Janela de Download acima não funcionar tente acessar os arquivos usando o seguinte link http://www.4shared.com/dir/34812571/bf01348d/VideoAulas.html Bom estudo  :-)

Sistemas distribuidos: Enviando mensagens TCP Parte II - Servidor

Igual ao servidor UDP esse servidor só vai receber a mensagem e envia-la de volta , ou seja é um servidor de ECO mas com boa vontade basta fazer algumas alterações que vc tem um servidor de chat :-) . Server TCP: import java.net.*; import java.io.*; public class TCPServer { public static void main(String[] args) { try { int serverPort = 7896; ServerSocket listenSocket = new ServerSocket(serverPort); //socket de escuta o socket que vai atender as requisições while(true){ Socket client = listenSocket.accept( ); Connection c = new Connection(client); //precisamos criar a classe conection que vai //inicializar nossas threads para atender a cada requisição } } catch (IOException e) { System.out.println("Listem :" + e.getMessage( )); } }//fim do main }//fim da classe Depois de fin...