Anália Lima (alc5) Bruno Gentilini (bgda) Eduardo Souza (efs) Ivan França (ilfn) Infra-Estrutura de comunicação Aula Prática Programação de Sockets TCP.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais II N Aula prática Java Sockets, RPC e RMI Eduardo Bezerra.
Advertisements

Parte 2: Camada de Aplicação
Interações cliente/servidor usando o UDP
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Entrada e Saída Marco Antonio Arquiteto de Software Dezembro/2007.
Comunicação entre processos distribuídos
Sistemas Distribuídos
Tratamento de Exceções
Java RMI Alcides Calsavara. Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância.
Orientação a Objetos: Modificador Final para Métodos e Classes
1 Java: Tratamento de Exceções Alcides Calsavara.
Redes de computadores Prof. Nelson Fonseca 2: Camada de Aplicação.
Capítulo 2: Roteiro 2.1 Princípios dos protocolos da camada de aplicação 2.2 Web e HTTP 2.3 FTP 2.4 Correio Eletrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento.
Streams Java.
Sistemas Paralelos e Distribuídos
Camada de Aplicação Teleprocessamento e Redes
Ronaldo Celso Messias Correia
26/09/2005 LCMI - DAS - UFSC 1 Introdução aos Sockets Java Fábio Favarim DAS – Departamento de Automação e Sistemas UFSC – Universidade.
1 Introdução aos Sockets (Java) Tiago Semprebom DAS – Departamento de Automação e Sistemas UFSC – Universidade Federal de Santa Catarina.
Prof. Marcelo Diniz Fonte:
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes.
Estrutura de Dados em Java
Capítulo 2 Camada de aplicação
Linguagens de Programação
Tipos Agregados Homogêneos e Listas
JAVA MULTITHREADING TECHNIQUES
Infra-Estrutura de Comunicação (IF678)
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 – CIn/UFPE Davi Duarte Denyson José Eduardo Souza Ivan França Rafael Lima.
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 – CIn/UFPE Davi Duarte Cynthia Raphaella Ivan França Jéssica Barbalho Larissa Paz Paulo Fernando.
Java em Redes de Computadores
Streams –input e output
Programação com sockets
Java Avançado Luiz Carlos d´Oleron SJCP Java Sockets.
Scala Bruno Barros e Rebeka Gomes
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 Programação de Sockets TCP e UDP Professor: Paulo Gonçalves CIn/UFPE.
Comunicação Entre Processos Sockets - Java
Capítulo 1. static import  A importação estática pode ser utilizado quando queremos acessar métodos ou atributos estáticos de uma outra classe.  Através.
Tipos Especiais de Listas
Alisson Rafael Appio SOP aplicado em um jogo tipo de corrida usando a arquitetura cliente e servidor Alisson Rafael Appio
Nível Transporte Fornece aos níveis superiores serviço eficiente e confiável entre máquina de origem e destino, independente das redes utilizadas. Torna.
Java e Serviço de Transporte Vitor Brandi Junior.
LPII Professora Lucélia. Pacotes Um pacote em Java é um diretório onde ficam armazenadas uma ou mais classes. Geralmente as classes com a mesma afinidade.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Infra-Estrutura de Comunicação (IF678) Aula Prática CIn/UFPE Rafael Lucena Roberta Mota Rubens Lopes Rodolfo Santos João Pedro Cordeiro.
Implementando comunicação em JAVA via Sockets Alcides Calsavara - Leonardo R. Nunes -
Polimorfismo.
Estrutura de Controle em JAVA
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 Programação de Sockets TCP e UDP Hugo Simões Original por: Flávio.
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Socket em Java.
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 Programação de Sockets TCP e UDP CIn/UFPE Bruno Gentilini Eduardo Souza Amora Albuquerque Anália.
Paulo Roberto Freire Cunha
Programação Distribuída em Java Aula Na aula passada vimos Domain Name Server –Funcionamento básico O pacote java.net –Sua finalidade A classe InetAddress.
Administração e Projeto de Redes Material de apoio Camada de Transporte Cap.4 10/02/2010.
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 Programação de Sockets TCP e UDP Professor: Paulo Gonçalves CIn/UFPE.
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Programação em Java Sockets Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Sistemas Distribuídos Aula 6
Soquetes (1) SOCKET Uma interface local, criada por aplicações, ponto final de comunicação no qual os processos de aplicação podem tanto enviar quanto.
AsyncTask e Socket no Android
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Programação para Dispositivos Móveis: API Web e Comandos Gerais
Redes de Computadores 5º Semestre Aula 07 Prof
Leitura do teclado e Interface gráfica
Programação Orientada a Objetos
Transcrição da apresentação:

Anália Lima (alc5) Bruno Gentilini (bgda) Eduardo Souza (efs) Ivan França (ilfn) Infra-Estrutura de comunicação Aula Prática Programação de Sockets TCP e UDP Professor: Paulo Gonçalves CIn/UFPE

Protocolos Camada Transporte TCP Orientado à conexão; Transporte confiável; Controle de fluxo; Controle de congestionamento; UDP Não orientado à conexão;

Comunicação entre processos Processos em hosts distintos comunicam-se por meio de envio de mensagens... enviadas e recebidas através de seu socket O que é um socket?

Socket é a interface entre a camada de aplicação e a de transporte

Programação de socket TCP- Client import java.io.*; import java.net.*; import java.util.Scanner; public class TCPclient { public static void main(String[] args) throws Exception { //lendo do teclado String inFromUser = new Scanner(System.in).next(); //criando um socket TCP Socket sock = new Socket("localhost", 2000); //stream de saida DataOutputStream socketOut = new DataOutputStream(sock.getOutputStream()); socketOut.writeBytes(inFromUser + '\n'); //resposta do servidor BufferedReader socketIn = new BufferedReader(new InputStreamReader(sock.getInputStream())); System.out.println(socketIn.readLine()); }

Programação de socket TCP - Server import java.io.*; import java.net.*; public class TCPserver { public static void main(String argv[]) throws Exception { String inFromClient; String outToClient; //socket de "boas vindas" ServerSocket welcomeSocket = new ServerSocket(2000); while(true) { //socket de conexão TCP Socket sock = welcomeSocket.accept(); //buffer de entrada, que recebe um stream BufferedReader socketIn = new BufferedReader(new InputStreamReader(sock.getInputStream())); inFromClient = socketIn.readLine(); outToClient = inFromClient.toUpperCase() + '\n'; //stream de saida DataOutputStream socketOut = new DataOutputStream(sock.getOutputStream());//stream de saida //escrevendo no socket socketOut.writeBytes(outToClient); sock.close(); }

Exercício Faça um Hello [endereço IP do servidor] e retorne do servidor um Ok [endereço IP do cliente]

Exercício Faça um Hello [endereço IP do servidor] e retorne do servidor um HELLO [endereço IP do cliente] OBS: O cliente deve fechar a conexão após receber a resposta do servidor ou dar um timeout de 30 segundos.

Programação de socket UDP- Client import java.net.*; import java.util.Scanner; class UDPclient { public static void main(String args[]) throws Exception { String inFromUser = new Scanner(System.in).next() + '\n'; //entrada do usuário DatagramSocket clientSocket = new DatagramSocket(); //socket UDP InetAddress IPServer = InetAddress.getByName("localhost"); //IP do servidor byte[] sendData = new byte[1024]; //dados a serem enviados sendData = inFromUser.getBytes(); //criando o pacote de envio DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPServer, 5000); clientSocket.send(sendPacket); byte[] receiveData = new byte[1024]; //dados recebidos DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); //recebendo o pacote String inFromServer = new String(receivePacket.getData()); System.out.println("FROM SERVER: " + inFromServer); clientSocket.close(); }

Programação de socket UDP-Server import java.net.*; class UDPserver { public static void main(String args[]) throws Exception { DatagramSocket serverSocket = new DatagramSocket(5000); byte[] receiveData = new byte[1024], sendData = new byte[1024]; String inFromClient, outToClient; InetAddress clientIP; int port; while(true) { //pacote a ser recebido DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); //recebendo o pacotes inFromClient = new String(receivePacket.getData()); //colocando na string os dados recebidos clientIP = receivePacket.getAddress(); //pegando o IP e porta do pacote que chegou port = receivePacket.getPort(); outToClient = inFromClient.toUpperCase(); sendData = outToClient.getBytes(); //enviando pacote de resposta DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientIP, port); serverSocket.send(sendPacket); }

Exercício Faça, por meio de uma conexão UDP, o cliente enviar dois números e o servidor responder com a soma deles. OBS: O cliente deve encerrar após receber a resposta do servidor ou dar um timeout de 30 segundos.

Referências James F. Kurose and Keith W. Ross, "Redes de Computadores e a Internet - Uma Nova Abordagem", 3a. edição Ed. Addison Wesley BRA Slides anteriores da monitoria feitos por flávio almeida (faas).