Programação Distribuída em Java Aula 03. 2 Na aula passada vimos: I/O Streams Filtros Readers and Writers.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

I/O Carlos Bazilio Depto de Ciência e Tecnologia
Sistemas Operacionais
A Interface entre Processadores e Periféricos
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Entrada e Saída Marco Antonio Arquiteto de Software Dezembro/2007.
Marco A. S. Reis EJB Acesso Remoto Marco A. S. Reis
Comunicação entre processos distribuídos
Ir p/ primeira página Cliente/Servidor Modelo usado para construir aplicações Servidor em número de porta conhecido – Aceita requisições e executa serviços.
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.
Comunicação Distribuída
Streams Java.
Desenvolvimento de Aplicações Distribuídas
Invocação de Métodos Remotos RMI
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.
Estrutura de Dados em Java
Introdução à Programação Distribuída em Java
Concorrência em Java Threads em Java.
Concorrência em Java Threads em Java.
Concorrência em Java Threads em Java.
Aula 9 - Camada de aplicação
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 – CIn/UFPE Davi Duarte Denyson José Eduardo Souza Ivan França Rafael Lima.
Streams –input e output
Web Services Uninorte Semana de Tecnologia da Informação
Chamada Remota de Procedimentos
Programação com sockets
Java Avançado Luiz Carlos d´Oleron SJCP Java Sockets.
Remote Method Invocation RMI
Concorrência e Java RMI
Comunicação Entre Processos Sockets - Java
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
Clique para adicionar texto NetGamesNRT Leonardo de Souza Brasil Orientador: Ricardo Pereira e Silva, Dr.
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto. Java RMI.
Prof. Roberto Rosa Aula 8.  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para.
Java e Serviço de Transporte Vitor Brandi Junior.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Profa. Patrícia A. Jaques
Implementando comunicação em JAVA via Sockets Alcides Calsavara - Leonardo R. Nunes -
Programação distribuída e concorrente
RMI - JAVA.
Troca de Mensagens Programação concorrente
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
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 -
RMI (Remote Method Invocation) Bruno Edson Plínio Tadeu
Socket em Java.
Comunicação Cliente-Servidor Linguagem para Internet II Prof. Marcelo da Silveira Siedler SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL.
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.
Java – Remote Method Invocation (RMI)
Python Threads e Socket
Programação Distribuída em Java Aula Na aula passada vimos: I/O Sockets.
Programação Distribuída em Java Aula Na aula passada vimos: TomCat –Instalação e configuração –Criação de contexto JSP... uma introdução –Expressões.
Programação Distribuída em Java Aula Na aula passada vimos: Introdução –O que podemos fazer na rede Conceito de Rede –Máquinas conectadas Protocolos.
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
1 Programação Distribuída em Java Aula Na aula de hoje veremos: Introdução Conceito de Rede Protocolos Modelo ISO/OSI Modelo TCP/IP Modelo Cliente/Servidor.
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.
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Leonardo de Souza Brasil Orientador: Ricardo Pereira e Silva, Dr
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 Programação de Sockets TCP e UDP Professor: Paulo Gonçalves CIn/UFPE.
RMI Java Remote Method Invocation em Java. Introdução Java Remote Method Invocation (Java RMI) permite desenvolver sistemas distribuídos baseados em Java.
Protocolos de Comunicação e Passagem de Mensagens
Sockets Redes de Comunicação de Dados Prof. Esp. Cristiano José Cecanho.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Transcrição da apresentação:

Programação Distribuída em Java Aula 03

2 Na aula passada vimos: I/O Streams Filtros Readers and Writers

3 O que você deve ter fixado: Tratamento básico de entrada e saída Encadeamento de filtros Manipulação de streams

4 Na aula de hoje veremos: Sockets

5 Socket Abstração que permite ao programador tratar uma conexão de rede como um stream de dados. Libera do programador dos detalhes de baixo nível da rede Um socket conecta dois hosts

6 Socket Um Socket é uma conexão Socket permite tratar a conexão como I/O Ler ou enviar dados em uma rede deve ser tão simples como fazê-lo para um arquivo local

7 Portas lógicas Abstrações na memória do computador Não têm características físicas Estão registradas em cada pacote de informação

LowPortScanner.java8 Portas notáveis De 1 a 1023 Breve lista –07 echo –13 daytime –21 FTP –23 Telnet –25 SMTP –80 HTTP –110 POP3 –1099 RMI Registry Lista detalhada em:

9 Operações Básicas dos Sockets Conectar a máquinas remotas Enviar dados Receber dados Encerrar conexão Conectar-se a portas lógicas Aguardar chegada de dados Aceitar conexão de máquinas remotas

10 Sockets Clientes e servidores usam sockets Os três últimas operações citadas são próprias dos servidores São implementadas apenas por ServerSockets

DaytimeClient.java11 Ciclo de vida de um programa que usa Socket Criação do socket Conexão ao host remoto Obtenção dos streams de entrada e saída Troca de informações Encerramento da conexão

12 A Classe Socket Java.net.Socket é a classe fundamental para operações no lado cliente. Outras classes Java que fazem conexão de rede usam Socket implicitamente.

13 Java.net.Socket Possui quatro construtores públicos e dois protegidos Cada construtor especifica o host e a porta à qual você deseja se conectar Eventualmente o construtor pode indicar uma interface, ou seja, um ponto alternativo de conexão (físico ou virtual) com a máquina atual

14 public Socket (String host, int port) throws UnknownHostException, IOException try { Socket s = new Socket (“ 80); // execução do programa } catch(UnknownHostException e){ System.out.println(e); } catch(IOException e){ System.out.println(e); }

HighPortScanner.java15 public Socket ( InetAddress ia, int port ) throws UnknownHostException, IOException try { String host = InetAddress ia = InetAddress.getByName(host); Socket s = new Socket (ia, 80); // execução do programa } catch( UnknownHostException e ){ System.out.println(e); } catch( IOException e ){ System.out.println(e); }

16 public Socket (String host, int port, InetAddress interface, int localPort ) throws UnknownHostException, IOException try { Socket s = new Socket (“ 80, interface, localPort); // execução do programa } catch( UnknownHostException e ){ System.out.println(e); } catch( IOException e ){ System.out.println(e); }

17 public Socket (InetAddress ia, int port, InetAddress interface, int localPort ) throws UnknownHostException, IOException try { String host = InetAddress ia = InetAddress.getByName(host); Socket s = new Socket (ia, 80, interface, localPort); // execução do programa } catch( UnknownHostException e ){ System.out.println(e); } catch( IOException e ){ System.out.println(e); }

SocketInfo.java18 Socket Métodos básicos public InetAddress getInetAddress() public int getPort() public int getLocalPort() public InputStream getInputStream() public OutputStream getOutputStream()

DayTime.java and Echo.java19 Socket Métodos básicos public InputStream getInputStream() public OutputStream getOutputStream()

20 Socket Um socket é fechado quando: –Um ou os dois stream são fechados –O programa termina –Garbage collected Recomenda-se o fechamento explícito É possível fechar apenas um sentido do stream –public void shutDownInput() –public void shutDownOutput() Note que fechar a entrada e a saída não fecha o socket

LocalPortScanner.java21 Java.net.ServerSocket Pelo lado servidor, para que seja possível a conexão, é necessário um ServerSocket Um ServerSocket roda em um servidor e aguarda a chegada de solicitações de conexão

22 java.net.ServerSocket Solicitações de conexão são colocadas em uma fila O tamanho default dessa fila é 50 Em Java é possível alterar o tamanho dessa fila

RandomPort.java23 java.net.ServerSocket Construtores –public ServerSocket(int port) –public ServerSocket(int port, int queueLength) trows BindException() –public ServerSocket(int port, int queueLength, InetAddress bind) todos lançam IOException

DaytimeServer.java24 Java.net.ServerSocket ServerSockets aguardam as conexões enquanto Sockets as iniciam Servidores usam o mesmo tipo de objeto Socket para o seu lado da comunicação A quantidade máxima de conexões é dependente de sistema operacional

SingleFileHTTPServer.java25 Cliente A Cliente B Cliente C Cliente D ServerSocket Aplicação Servidora Socket

26 O que você precisa saber... Características principais dos soquetes Utilização de portas lógicas Aquisição e manipulação do stream da rede Esquema do ação dos servidores de soquetes

27 Na próxima aula veremos: Suporte Java para rede Pacote java.net