Pular para o conteúdo principal

Sistemas distribuidos: Enviando mensagens TCP Parte I - Cliente

Aproveitando que estou fazendo a disciplina de  sistemas distribuídos no Doutorado continuo minha serie de posts sobre o assunto , dessa vez vamos conectar dois sistemas usando TCP , abaixo segue o codigo do cliente implementado e testado , lembre que para passar os dois argumentos para testar o cliente você precisa seguir as mesmas instruções de configuração que foram passadas no meu post sobre envio de mensagens UDP , veja o post antigo aqui.

Código do cliente:

import java.net.*;
import java.io.*;

public class TCPCliente {

    public static void main(String[] args) {
        //argumentos fornecem a mensagem e o nome de host do destino
        //argumento 0 é a mensagem , o 1 é o ip de destino do servidor
        
        Socket s = null;
        
        try{
            int serverPort = 7896 ; // porta do servidor
            s= new Socket(args[1], serverPort); // ip e porta do servidor
            DataInputStream in = new DataInputStream(s.getInputStream( ) );
            DataOutputStream out = new DataOutputStream(s.getOutputStream( ) );
            
            out.writeUTF(args[0] );
            String data = in.readUTF( );
            System.out.println("Dado recebido: " + data);
            
            
        }catch(UnknownHostException e){
            System.out.println("Sock: " + e.getMessage( ) );
        }catch(EOFException ex){
            System.out.println("EOF: " + ex.getMessage( ));
        }catch(IOException ex){
            System.out.println("IO: " + ex.getMessage( ) );
        } finally{
            if(s!=null)
                try{
                    s.close( );
                }catch(IOException ex){
                    System.out.println("Close Falhou");
                }
        }
        
        
    }//fim do main
}//fim da classe

Antes de testar como fizemos no cliente UDP você deve implementar primeiro o servidor e na hora de usar passar dois parâmetros o 1º parâmetro  tem que ser a mensagem , o 2º parâmetro é o numero IP do servidor , se você estiver testando tudo na mesma maquina use o endereço de loopback 127.0.0.1 .

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...

Meu kit de desenvolvimento de software do dia a dia

Conjunto de 10 ferramentas do dia a dia , as que mais utilizo para desenvolvimento de software, ainda tem outras mas essa pequena lista já é bem representativa  :-) , se você tem outras sugestões de aplicativos comente no post . 1 - Java  Principal linguagem que utilizo( vocês já devem ter percebido pelos posts : -)  ) , apresar de vez em quando usar o C/C++ , bash e mais recentemente o ruby ... Java SE - Downloads | Oracle Technology Network | Oracle 2 - IDE : Netbeans  Pra mim ainda é a mais completa apresar de reconhecer que o eclipse em muitas maquinas roda bem mais rápido , prefiro o netbeans pelo conjunto de ferramentas integradas, e no geral não preciso configurar nada , estou ficando preguiçoso de ter que mexer , configurar e fuçar tutoriais para que as coisas funcionem ... em fim , vou de Netbeans . Welcome to NetBeans 3- Editor de texto generico : TextWrangler Gratuito, bom para editar HTML , scripts em bash e ruby, não é uma ferramenta do...

Encurtador de URL Seguro

Essa é para quem usa o twitter : A McAfee lançou recentemente seu próprio serviço de encurtador de URLs com um plus a mais: ele verifica, antes de redirecionar, se o site de destino contém alguma ameaça. Para quem tinha receio (com razão) em clicar em URLs encurtadas como tinyurl.com e bit.ly esta solução com certeza trará mais tranquilidade no que diz respeito a segurança. Para acessar o serviço, que ainda está em beta, basta seguir para o endereço: http://mcaf.ee/ Fonte: Info Online