Redes de Computadores I

Documentos relacionados
Redes de Computadores Programação com Sockets

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets

Programação de Sockets

Programação de sockets com TCP

Programação com sockets (em Java)

Programação de Sockets

Comunicação entre processos

Mecanismos de Comunicação. Sockets em java (

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Sistemas Distribuídos

Aula 30 - Sockets em Java

INF1013 MODELAGEM DE SOFTWARE

User Datagram Protocol

Cliente-servidor com Sockets TCP

Redes de Computadores II. Programação com Sockets em Python

Java 2 Standard Edition Fundamentos de

Sockets em Java. Leonardo R. Nunes - leonardo@sumersoft.com. 1. Introdução. 2. Sockets TCP/IP

Threads e Sockets em Java. Threads em Java. Programas e Processos

Sockets com Java Parte I

Caso 1 NetScanner Main

Implementando comunicação em JAVA via Sockets. Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft.

Programação de Computadores II TCC /Turma A 1

Capítulo II Modelos de Programação Distribuída

Network Programming. Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP

Olho por olho, e o mundo acabará cego. Mohandas Gandhi

Bacharelado em Ciência e Tecnologia BC Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

FTP FILE F TRANSFER PROTOCOL. Tópicos

Computação Distribuída

Programação: Sockets em Java

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Equivale a um conjunto de if 's encadeados, porém mais estruturado.

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

UNIVERSIDADE FEDERAL DO PARANÁ

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos

Programação Orientada a Objetos com Java. Prof. Júlio Machado julio.machado@pucrs.br

Sockets e Threads em Java

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Capítulo 6. Java IO - Ficheiros

Sistemas Operacionais:

Sockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sistemas Distribuídos Java Sockets

Ler e escrever bytes, caracteres e Strings de/para a entrada e saída padrão. Ler e escrever bytes, caracteres e Strings de/para arquivos

Conceitos Básicos. Conceitos Básicos. Networking. Programando para redes em Java. empregando os protocolos:

Capítulo 2: Camada de Aplicação

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Disciplina de Sistemas Distribuídos. Comunicação em Sistemas Distribuídos

Comunicação via Sockets. Prof. Orlando Loques - IC/UFF. versão

Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes

Um pouco do Java. Prof. Eduardo

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Sistemas Distribuídos

Resumo das Propriedades de UDP e de TCP

Redes de Computadores /1

Arquivos. Profa. Thienne Johnson EACH/USP

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Escola Superior de Gestão e Tecnologia. Tratamento de Exceções

Programação II Java Streams. Christopher Burrows

Java : Comunicação Cliente-Servidor.

PROGRAMAÇÃO COM SOCKETS

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC, Programação em Comunicações

Sintaxe Básica de Java Parte 1

Conexão Socket na MIDP

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

insfcanceof new public switch transient while byte continue extends for int null

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Programação Concorrente/Paralela em Java

Tecnologias Java Sockets e RMI

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Programação de Redes de Computadores em Java

Comunicação usando soquetes.

Noções sobre Objetos e Classes

Exercícios de Revisão Java Básico

CURSO DE PROGRAMAÇÃO EM JAVA

Passagem de Mensagens

THREADS EM JAVA. George Gomes Cabral

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Transcrição:

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores I Desenvolvimento de Aplicações de Rede a partir da Biblioteca de s Java Prof. Helcio Wagner da Silva

Introdução Cliente TCP IP Servidor TCP IP Host/rede Host/rede 2

Tipos de s (TCP) de entrada Abertura de conexão Cliente do cliente de conexão Servidor Bytes Bytes 3

Requisitos das Aplicações-exemplo 1. O Cliente lê uma linha de sua entrada padrão (teclado) e a envia para o Servidor 2. O Servidor lê a linha a partir de seu soquete de conexão 3. O Servidor converte a linha para letras maiúsculas 4. O Servidor envia a linha ao Cliente através de seu soquete de conexão 5. O Cliente lê a linha modificada através de seu soquete e apresenta a linha na sua saída padrão (monitor) 4

O Cliente TCP - esquema Fluxo de entrada dousuario Cliente Fluxo de saída paraoservidor doservidor Fluxo de entrada soquetedocliente TCP p/ o Nível do Nível 5

O Cliente TCP - código import java.io.*; import java.net.*; public class ClienteTCP { public static void main(string[] args) throws Exception { String sentenca; String sentencamod; BufferedReader dousuario = new BufferedReader(new InputStreamReader(System.in)); Socket soquetedocliente = new Socket(args[0],6789); DataOutputStream paraoservidor = new DataOutputStream(soqueteDoCliente.getOutputStream()); BufferedReader doservidor = new BufferedReader(new InputStreamReader( soquetedocliente.getinputstream())); sentenca = dousuario.readline(); paraoservidor.writebytes(sentenca + \n ); sentencamod = doservidor.readline(); System.out.println( Do servidor: + sentencamod); soquetedocliente.close(); 6

O Servidor TCP - esquema Núcleo de Execução do Serviço Servidor Fluxo de entrada docliente Fluxo de saída paraocliente TCP soquetedeentrada soquetedeconexao TCP do Nível do Nível p/ o Nível 7

O Servidor TCP - código import java.io.*; import java.net.*; public class ServidorTCP { public static void main(string[] args) throws Exception { String sentenca; String sentencamod; ServerSocket soquetedeentrada = new ServerSocket(6789); while (true) { Socket soquetedeconexao = soquetedeentrada.accept(); BufferedReader docliente = new BufferedReader(new InputStreamReader( soquetedeconexao.getinputstream())); DataOutputStream paraocliente = new DataOutputStream(soqueteDeConexao.getOutputStream()); sentenca = docliente.readline(); sentencamod = sentenca.touppercase() + \n ; paraocliente.writebytes(sentencamod); 8

Tipos de s (UDP) do cliente do servidor Cliente Bytes Bytes Servidor 9

O Cliente UDP - esquema Fluxo de entrada Estrutura de dados dousuario pctedeenvio Cliente pctederecepcao Estrutura de dados soquetedocliente UDP p/ o Nível do Nível 10

O Cliente UDP - código import java.io.*; import java.net.*; public class ClienteUDP { public static void main(string[] args) throws Exception { String sentenca, sentencamod; BufferedReader dousuario = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket soquetedocliente = new DatagramSocket(); InetAddress endip = InetAddress.getByName(args[0]); byte[] dadosdeenvio = new byte[1024]; byte[] dadosderecepcao = new byte[1024]; sentenca = dousuario.readline(); dadosdeenvio = sentenca.getbytes(); DatagramPacket pctedeenvio = new DatagramPacket(dadosDeEnvio,dadosDeEnvio.length,endIP,9876); soquetedocliente.send(pctedeenvio); DatagramPacket pctederecepcao = new DatagramPacket(dadosDeRecepcao,dadosDeRecepcao.length); soquetedocliente.receive(pctederecepcao); sentencamod = new String(pcteDeRecepcao.getData()); System.out.println( Do servidor: + sentencamod); soquetedocliente.close(); 11

O Servidor UDP - esquema Núcleo de Execução do Serviço Estrutura de dados pctederecepcao Servidor pctedeenvio Estrutura de dados soquetedoservidor UDP do Nível p/ o Nível 12

O Servidor UDP - código import java.io.*; import java.net.*; public class ServidorUDP { public static void main(string[] args) throws Exception { String sentencamod; DatagramSocket soquetedoservidor = new DatagramSocket(9876); byte[] dadosderecepcao = new byte[1024]; byte[] dadosdeenvio = new byte[1024]; while (true) { DatagramPacket pctederecepcao = new DatagramPacket(dadosDeRecepcao,dadosDeRecepcao.length); soquetedoservidor.receive(pctederecepcao); sentencamod = (new String(pcteDeRecepcao.getData())).toUpperCase(); InetAddress endip = pctederecepcao.getaddress(); int port = pctederecepcao.getport(); dadosdeenvio = sentencamod.getbytes(); DatagramPacket pctedeenvio = new DatagramPacket(dadosDeEnvio,dadosDeEnvio.length,endIP,port); soquetedoservidor.send(pctedeenvio); 13