Comunicação entre processos

Tamanho: px
Começar a partir da página:

Download "Comunicação entre processos"

Transcrição

1 Comunicação entre processos Processo: um programa em execução num sistema terminal (host) Processos em sistemas distintos comunicam trocando mensagens Processo Cliente: processo que inicia a comunicação Processo Servidor: processo que espera passivamente até ser contactado por um cliente Nota: As aplicações P2P usam simultaneamente processos cliente e processos servidor 4/28/09 Universidade do Minho 1

2 SOCKETS Processos enviam e recebem mensagens através de um socket O socket é equivalente a uma porta O processo que envia faz sair as mensagens pela porta (socket) e confia na infra-estrtutura de transporte que está do outro lado da porta para levar a mensagem até ao processo que recebe O processo que recebe as mensagens também o faz através de uma porta (socket) 4/28/09 Universidade do Minho 2

3 Endereçamento Para receber ou enviar mensagens os processos precisam de um identificador Os sistemas já possuem endereços IP Mas serão suficientes para endereçar os processos? Obviamente que não: correm múltiplos processos em simultâneo em cada sistema! 4/28/09 Universidade do Minho 3 identificador inclui endereço IP e número de porta associado ao processo. Exemplos de portas bem conhecidas: Servidor HTTP: 80 Servidor de Mail: 25 Para enviar uma mensagem a um servidor Web é preciso: IP: Porta: 80

4 Aplicações definem Tipos de mensagens que trocam, Ex: request, response Sintaxe das mensagens: Que campos vai ter cada mensagem e como são delimitados Semântica das mensagens Significado da informação contida em cada campo Regras temporais que definem quando e como deve um processo responder às mensagens que recebe 4/28/09 Universidade do Minho 4

5 Que serviço de transporte usar? Tolerância a perdas Algumas aplicações (ex: audio) toleram algumas perdas Outras (ex: transferência de ficheiros, telnet) requerem que a transferência seja Sensibilidade 100% fiável aos atrasos Algumas aplicações (ex: telefonia IP) requerem que os atrasos sejam baixos Consumo de Largura de Banda Algumas aplicações (ex: multimedia) exigem uma largura de banda mínima para poderem funcionar Outras ( aplicações elásticas ) utilizam a largura e banda que houver disponível 4/28/09 Universidade do Minho 5

6 Serviços de transporte na Internet Serviço de transporte TCP: Orientado à conexão Transporte fiável Controlo de fluxo Controlo de congestão Não assegura atrasos nem largura de banda mínimos Serviço de transporte UDP: Transferência não fiável Não oferece mais nada 4/28/09 Universidade do Minho 6

7 Programação com Sockets Objectivo: construir aplicações cliente/servidor que usam sockets Socket API Introduzida no UNIX BSD4.1 em 1981 Os sockets devem ser explicitamente criadosm usados e livbertados pelas aplicações Paradigma cliente/servidor Dois tipos de serviço de transporte: Datagrama não fiável Stream fiável socket Uma interface local a um sistema, criado pelas aplicações, controlado pelo sistema operativo (uma porta ) na qual um processo de aplicação pode simultaneamente enviar e receber mensagens de outros processos 4/28/09 Universidade do Minho 7

8 Programação usando Sockets TCP Socket: uma porta entre o processo que executa a aplicação e o protocolo de transporte fim-a-fim (UCP or TCP) TCP service: serviço de transferência de bytes fiável de um processo para outro Controlado pelo programador da aplicação Controlado pelo Sistema Operativo processo socket TCP com buffers e variáveis internet processo socket TCP com buffers e variáveis Controlado pelo programador da aplicação Controlado pelo Sistema Operativo Cliente ou servidor Cliente ou servidor 4/28/09 Universidade do Minho 8

9 Programação usando Sockets TCP O Cliente deve contactar o servidor O processo servidor deve estar a correr O Servidor deve ter criado um socketc que aguarda pedidos de clientes Os Clientes contactam o servidor da seguinte forma: Criam um socket TCP local ao cliente. Especificam o endereço IP e o número da porta do processo servidor Estabelecem a ligação com o processo servidor. 4/28/09 Universidade do Minho 9 Quando contactado pelo cliente o servidor TCP cria um socket para que o processo servidor comunique com o cliente: Permite que o servidor contacte com múltiplos clientes O número da porta origem Ponto é de usado vista para da aplicação distinguir os diferentes clientes. O TCP disponibiliza um serviço de transferência fiável de bytes entre cliente e servidor

10 Programação usando Sockets TCP Streams Uma stream é uma sequência de caracteres que flui para dentro ou fora de um processo Uma input stream está associada a uma fonte de input do processo, por exemplo o teclado (standard input) ou um socket Uma output stream está associada a uma fonte de saída, por exemplo o monitor (standard output) ou um socket 4/28/09 Universidade do Minho 10

11 Programação usando Sockets TCP Exemplo de uma aplicação cliente-servidor 1) O cliente lé uma linha do standard input (infromuser stream),e envia a linha lida para o servidor via socket (outtoserver stream) 2) O servidor lê a linha do socket 3) Converte tudo para maiúsculas, e envia a linha de volta para o cliente 4) O cliente lê a linha modificada do socket (infromserver stream) e imprimi-a. Client process client TCP socket 4/28/09 Universidade do Minho 11

12 Interacção Cliente/Servidor usando sockets TCP Servidor (em execução no hostid) create socket, port=x, for incoming request: welcomesocket = ServerSocket() wait for incoming connection request connectionsocket = welcomesocket.accept() read request from connectionsocket write reply to connectionsocket close connectionsocket TCP Estabelecimento da ligação Cliente create socket, connect to hostid, port=x clientsocket = Socket() send request using clientsocket read reply from clientsocket close clientsocket 4/28/09 Universidade do Minho 12

13 Exemplo de um Cliente Java import java.io.*; import java.net.*; class TCPClient { Cria input stream Cria Socket cliente, ligado ao servidor Cria output stream associada ao socket public static void main(string argv[]) throws Exception { String sentence; String modifiedsentence; BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); Socket clientsocket = new Socket("hostname", 6789); PrintWriter outtoserver = new PrintWriter(clientSocket.getOutputStream(), true); 4/28/09 Universidade do Minho 13

14 Exemplo de um Cliente Java TCP (2) Cria input stream associada ao socket BufferedReader infromserver = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = infromuser.readline(); Envia linha para o servidor Lê linha do servidor outtoserver.println(sentence + '\n'); modifiedsentence = infromserver.readline(); System.out.println("FROM SERVER: " + modifiedsentence); clientsocket.close(); } } 4/28/09 Universidade do Minho 14

15 Exemplo de um Servidor Java (TCP) import java.io.*; import java.net.*; class TCPServer { Cria um socket à escuta na porta 6789 Espera por qualquer contacto por parte de um cliente Cria input stream, associada ao socket public static void main(string argv[]) throws Exception { String clientsentence; String capitalizedsentence; ServerSocket welcomesocket = new ServerSocket(6789); while(true) { Socket connectionsocket = welcomesocket.accept(); BufferedReader infromclient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); 4/28/09 Universidade do Minho 15

16 Exemplo de um Servidor Java TCP (2) Cria output stream, associada ao socket PrintWriter outtoclient = new PrintWriter(connectionSocket.getOutputStream(), true); Lê uma linha do socket Escreve uma linha no socket } } } clientsentence = infromclient.readline(); capitalizedsentence = clientsentence.touppercase() + '\n'; outtoclient.println(capitalizedsentence); Fim do ciclo while, volta ao início e espera novo pedido de outro cilente 4/28/09 Universidade do Minho 16

17 Programação usando Sockets UDP UDP: não existe uma ligação estabelecida entre o cliente e o servidor sem handshaking o emissor (cliente) associa explicitamente a cada pacote o endereço IP e porta do receptor o receptor (servidor) deve extrair de cada pacoete recebido o endereço IP e a porta do emissor Ponto de vista da aplicação O UDP disponibiliza um serviço de transferência não fiável de datagramas (grupos de bytes) entre o cliente e o servidor UDP: os dados transmitidos podem ser recebidos fora de ordem 4/28/09 Universidade do Minho 17

18 Interacção Cliente/Servidor usando sockets UDP Servidor (em execução no hostid) create socket, port=x, for incoming request: serversocket = DatagramSocket() read request from serversocket Cliente create socket, clientsocket = DatagramSocket() Create, address (hostid, port=x, send datagram request using clientsocket write reply to serversocket specifying client host address, port number read reply from clientsocket close clientsocket 4/28/09 Universidade do Minho 18

19 Exemplo: Cliente JAVA (UDP) Client process Output: envia datagrama (TCP envia stream de bytes ) Input: recebe datagrama (TCP recebe stream de bytes ) client UDP socket 4/28/09 Universidade do Minho 19

20 Exemplo: Cliente JAVA (UDP) import java.io.*; import java.net.*; Cria input stream Cria socket cliente Traduz o nome do host onde está o servidor para endereço usando o DNS class UDPClient { public static void main(string args[]) throws Exception { BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket clientsocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName ("hostname"); byte[] senddata = new byte[1024]; byte[] receivedata = new byte[1024]; String sentence = infromuser.readline(); senddata = sentence.getbytes(); 4/28/09 Universidade do Minho 20

21 Exemplo: Cliente JAVA(UDP), cont. Cria o datagrama com os dados a enviar, tamanho, endereço e porta do servidor Envia datagrama para o servidor Lê datagrama do servidor DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, 9876); clientsocket.send(sendpacket); DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); clientsocket.receive(receivepacket); String modifiedsentence = new String(receivePacket.getData(),0, receivepacket.getlength()); } System.out.println("FROM SERVER:" + modifiedsentence); clientsocket.close(); } 4/28/09 Universidade do Minho 21

22 Exemplo: Servidor Java (UDP) import java.io.*; import java.net.*; Cria um socket datagrama à escuta na porta 9876 class UDPServer { public static void main(string args[]) throws Exception { DatagramSocket serversocket = new DatagramSocket(9876); byte[] receivedata = new byte[1024]; byte[] senddata = new byte[1024]; Cria espaço para um datagrama Recebe datagrama while(true) { DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); serversocket.receive(receivepacket); 4/28/09 Universidade do Minho 22

23 Exemplo: Servidor Java (UDP), cont Descobre end. IP e port # do emissor String sentence = new String(receivePacket.getData(), 0, receivepacket.getlength()); InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.getport(); Cria datagrama para enviar para o cliente Escreve datagrama no socket } } String capitalizedsentence = sentence.touppercase(); senddata = capitalizedsentence.getbytes(); DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, port); serversocket.send(sendpacket); } Fim do ciclo while, volta ao início e espera por novo datagrama 4/28/09 Universidade do Minho 23

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

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Programação de Sockets Mário Meireles Teixeira. UFMA-DEINF Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando s API de Sockets: introduzida no UNIX

Leia mais

Programação de Sockets

Programação de Sockets Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Socket API introduzida no BSD4.1 UNIX, 1981 explicitamente criados, usados e liberados

Leia mais

Programação de sockets com TCP

Programação de sockets com TCP Programação de sockets Objetivo: aprender a construir aplicações cliente-servidor que se comunicam usando sockets SOCKET = API (Application Program Interface) Introduzida no BSD4.1 UNIX, 1981 * Explicitamente

Leia mais

Programação de Sockets

Programação de Sockets Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets API de Sockets introduzida no BSD4.1 UNIX, 1981 sockets são explicitamente criados, usados

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 2.7 e 2.8 - Camada de Aplicação Programação de sockets Prof. Jó Ueyama Março/2014 SSC0540-2014 1 Sockets TCP - Cliente Processo servidor já deve estar em execução. l Servidor

Leia mais

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

Redes de Computadores II. Programação com Sockets em Python v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE

Leia mais

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

Disciplina de Sistemas Distribuídos. Comunicação em Sistemas Distribuídos Comunicação em Sistemas Distribuídos Objetivos Estudar os modelos de comunicação nos Sistemas Operacionais de Rede. Apresentar as características da camada de Transporte e seus protocolos. Estudar as principais

Leia mais

REC- Redes de Computadores. Capítulo 5 Camada de Aplicação

REC- Redes de Computadores. Capítulo 5 Camada de Aplicação REC- Redes de Computadores Capítulo 5 Camada de Aplicação Camada de aplicação DNS: Servidores de nomes raiz contactados por servidores de nomes locais que não conseguem traduzir nome servidores de nomes

Leia mais

Programação: Sockets em Java

Programação: Sockets em Java Programação: Sockets em Java Redes de Computadores Glauco Antonio Ludwig Leonardo Lemes Fagundes Roteiro Programação usando Sockets Sockets com TCP Exemplo de aplicação Sockets com UDP Exercício Bibliografia

Leia mais

Mecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/)

Mecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Mecanismos de Comunicação Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Sockets o que é? Um socket é um mecanismo de comunicação (dois sentidos) entre dois programas a funcionar

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Redes de Computadores Programação com Sockets

Redes de Computadores Programação com Sockets Prof. Othon Batista ( othonb@yahoo.com ) Página 1 Redes de Computadores Programação com Sockets Prof. Othon Batista ( othonb@yahoo.com ) Página 2 Roteiro Introdução A Arquitetura TCP/IP O Protocolo IP

Leia mais

PROGRAMAÇÃO COM SOCKETS

PROGRAMAÇÃO COM SOCKETS unidade I Tecnologias de Redes de Computadores PROGRAMAÇÃO COM SOCKETS Olá! Na aula de hoje, faremos um estudo sobre sockets. Esta aula fornecerá uma boa base de como sockets são utilizados para a transmissão

Leia mais

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

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Redes de computadores e a Internet Capítulo 2 Camada de aplicação Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento

Leia mais

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

Capítulo II Modelos de Programação Distribuída Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Capítulo 2. Camada de aplicação

Capítulo 2. Camada de aplicação Redes de computadores e a Internet Capítulo 2 Camada de aplicação Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento

Leia mais

Camada de Transporte. Bruno Silvério Costa

Camada de Transporte. Bruno Silvério Costa Camada de Transporte Bruno Silvério Costa Serviços Oferecidos à camada superior Camadas de rede, transporte e aplicação. Primitivas do Serviço de Transporte As primitivas para um serviço de transporte

Leia mais

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

Módulo 13. Socket. Programação Orientada a Objetos Java (Rone Ilídio)

Módulo 13. Socket. Programação Orientada a Objetos Java (Rone Ilídio) Módulo 13 Socket Programação Orientada a Objetos Java (Rone Ilídio) O que é socket? Definição: Interface da camada de transporte que permite comunicação entre dois processos que podem estar em computadores

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Correio eletrônico: SMTP [RFC 821]

Correio eletrônico: SMTP [RFC 821] Correio eletrônico: SMTP [RFC 821] Usa TCP para transferência confiável de mensagens de correio do cliente ao servidor, porta 25 Transferência direta: servidor que envia para o servidor que recebe Três

Leia mais

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

Sockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet. Sockets Programando para redes em Java Introdução n O URLs e URLConnections fornecem um mecanismo de alto nível para acessar recursos na Internet. n Em aplicações de servidor de cliente, o servidor fornece

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Universidade Federal de Minas Gerais Departamento de Ciência da Computação

Universidade Federal de Minas Gerais Departamento de Ciência da Computação Redes de Computadores Camada de Aplicação Capítulo 2 Kurose Prof: José Marcos Silva Nogueira Universidade Federal de Minas Gerais Departamento de Ciência da Computação Belo Horizonte 2008 Parte 2: Camada

Leia mais

Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco

Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco Introdução a Middleware: Visão do Programador de Aplicações Distribuídas Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco Relembrando... Aplicação Middleware Aplicação Middleware

Leia mais

Java 2 Standard Edition Fundamentos de

Java 2 Standard Edition Fundamentos de Java 2 Standard Edition Fundamentos de Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo pretende apenas cobrir conceitos essenciais sobre programação em rede com Java Como criar um

Leia mais

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

Olho por olho, e o mundo acabará cego. Mohandas Gandhi Sockets Olho por olho, e o mundo acabará cego. Mohandas Gandhi Conectando-se a máquinas remotas. Protocolo Da necessidade de dois computadores se comunicarem surgiram diversos protocolos que permitissem

Leia mais

Relatório 1º Laboratório: O Java e os Sockets. Licenciatura: ETI Turma : ETC1 Grupo : rd3_t3_02 Data: 22/02/2010

Relatório 1º Laboratório: O Java e os Sockets. Licenciatura: ETI Turma : ETC1 Grupo : rd3_t3_02 Data: 22/02/2010 Licenciaturas em Informática e Gestão de Empresas, Engenharia de Telecomunicações e Informática e Engenharia Informática Redes Digitais III Relatório 1º Laboratório: O Java e os Sockets Licenciatura: ETI

Leia mais

Sockets. Bruno Guimarães Lucas Rossini

Sockets. Bruno Guimarães Lucas Rossini Sockets Bruno Guimarães Lucas Rossini Introdução Comunicação entre processos: Memória compartilhada Memória distribuída - Mensagens pela rede Um sistema distribuído é ausente de memória compartilhada,

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

Redes de Computadores I

Redes de Computadores I 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

Leia mais

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

Sockets em Java. Leonardo R. Nunes - leonardo@sumersoft.com. 1. Introdução. 2. Sockets TCP/IP Sockets em Java Leonardo R. Nunes - leonardo@sumersoft.com 1. Introdução A comunicação entre processos de software tornou-se indispensável nos sistemas atuais. O mecanismo mais utilizado atualmente para

Leia mais

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

INF01018 Aula Prática 1 Cliente-Servidor e Multicast 1 / 30 INF01018 Aula Prática 1 Cliente-Servidor e Multicast Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais

Leia mais

Infra-Estrutura de Comunicação (IF678)

Infra-Estrutura de Comunicação (IF678) Infra-Estrutura de Comunicação (IF678) Módulo II Fonte: kurose Adaptações : Prof. Paulo Gonçalves pasg@cin.ufpe.br CIn/UFPE 2: Camada Aplicação 1 Módulo 2: Camada Aplicação 2.1 Princípios das aplicações

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Aula 5 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Estrutura básica Uma aplicação

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com ENLACE X REDE A camada de enlace efetua de forma eficiente e com controle de erros o envio

Leia mais

Sockets com Java Parte I

Sockets com Java Parte I Sockets com Java Parte I Neste artigo veremos como desenvolver aplicações em Java que podem comunicar-se via rede local ou via internet, usando sockets. Leia mais em: Sockets com Java Parte I http://www.devmedia.com.br/sockets-com-java-parte-i/

Leia mais

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA Disciplina: Redes de Computadores Ano: 2007 Professor: Luiz Antonio Trabalho 1º Bimestre Cliente/Servidor

Leia mais

Sistemas Distribuídos Java Sockets

Sistemas Distribuídos Java Sockets Sistemas Distribuídos Java Sockets Departamento de Informática, UFMA Graduação em Ciência da Computação Francisco José da Silva e Silva 1 Introdução a Java Sockets Socket é o ponto final de um enlace de

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Todo o material copyright 1996-2009 J. F Kurose e K. W. Ross, Todos os direitos reservados. slide 1 2010 2010 Pearson Pearson Prentice Prentice Hall. Hall. Todos Todos os

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Aplicação

Leia mais

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

Implementando comunicação em JAVA via Sockets. Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft. Implementando comunicação em JAVA via Sockets Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft.com Sockets Utilizado para comunicação entre processos; Compreendendo Sockets

Leia mais

Sockets em Ruby. Curso de Tecnologia em Redes de Computadores Programação para Redes

Sockets em Ruby. Curso de Tecnologia em Redes de Computadores Programação para Redes Sockets em Ruby Curso de Tecnologia em Redes de Computadores Programação para Redes Sockets em Ruby A biblioteca padrão de Ruby oferece um conjunto de classes para a manipulação de sockets. require socket

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local

Leia mais

Programação de Sockets em C/C++

Programação de Sockets em C/C++ Programação de Sockets em C/C++ Redes de Comunicação 2011/2012 1 Programação de Sockets em C/C++ 2 TCP 3 UDP Introdução Os sockets são um método de criar conexão entre processos, independente do protocolo.

Leia mais

Redes de computadores e a Internet. Redes de computadores e a Internet. Capítulo 2. Camada de aplicação

Redes de computadores e a Internet. Redes de computadores e a Internet. Capítulo 2. Camada de aplicação Redes de computadores e a Internet Redes de computadores e a Internet Capítulo Camada de aplicação - Camada de aplicação.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico SMTP,

Leia mais

Camada de aplicação 2-1. Redes de Computadores

Camada de aplicação 2-1. Redes de Computadores Camada de aplicação.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio electrônico SMTP, POP3, IMAP.5 DNS.6 Compartilhamento de arquivos PP.7 Programação de socket com TCP.8 Programação de

Leia mais

Rede de Computadores (REC)

Rede de Computadores (REC) Rede de Computadores (REC) Aula 04 Camada de Aplicação Prof. Jackson Mallmann dcc2jm@joinville.udesc.br Exemplos de requisição via telnet. iniciar / executar / cmd (Windows) telnet endereço telnet 192.168.1.3

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

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

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn. Programação em Rede Baseada em Java Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.br/~affonso/cursos Definiçõs Básicas Uma rede é um conjunto de computadores

Leia mais

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

Bacharelado em Ciência e Tecnologia BC-0505 - Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu. Bacharelado em Ciência e Tecnologia BC-0505 - Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.br Conceitos Arquivos permitem armazenar dados de maneira

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Comunicação memória compartilhada troca de mensagens base de comunicação em sistemas distribuídos Mensagens básicas send (destino, msg) receive (origem, mensagem) questões semântica

Leia mais

Infra-Estrutura de Comunicação (IF678)

Infra-Estrutura de Comunicação (IF678) Infra-Estrutura de Comunicação (IF678) Módulo II Fonte: kurose Adaptações : Prof. Paulo Gonçalves pasg@cin.ufpe.br CIn/UFPE 2: Camada Aplicação 1 Módulo 2: Camada Aplicação 2.1 Princípios das aplicações

Leia mais

Passagem de Mensagens

Passagem de Mensagens Passagem de Mensagens Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 22 de novembro de 2011 Francisco Silva (UFMA/LSD)

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista ATENÇÃO Esta apresentação foi retirada e adaptada dos seguintes trabalhos: Notas de aula do Prof. Miguel Campista da

Leia mais

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

Comunicação via Sockets. Prof. Orlando Loques - IC/UFF. versão 26-04-2001 Comunicação via Sockets Prof. Orlando Loques - IC/UFF versão 26-04-2001 Referências: - Slides Prof. Alexandre Sztajnberg, UERJ - Capítulo 15, Applied Operating System Concepts, Silberschatz & Galvin; Wiley

Leia mais

Camada de Transporte, protocolos TCP e UDP

Camada de Transporte, protocolos TCP e UDP Camada de Transporte, protocolos TCP e UDP Conhecer o conceito da camada de transporte e seus principais protocolos: TCP e UDP. O principal objetivo da camada de transporte é oferecer um serviço confiável,

Leia mais

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação

Leia mais

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

Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Sistemas Distribuidos 2012-2013 1º semestre Camadas

Leia mais

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores (RCOMP 2014/2015) Redes de Computadores (RCOMP 2014/2015) Desenvolvimento de aplicações de rede UDP e TCP 1 Protocolo UDP ( User Datagram Protocol ) Tal como o nome indica, trata-se de um serviço de datagramas, ou seja

Leia mais

Programa de Computador que funciona em Rede

Programa de Computador que funciona em Rede Programa de Computador que funciona em Rede professor Robinson Vida Noronha 1 Paradigma Um programa rodando em rede é como uma loja. 2 Uma loja é composta por Vendedores Vendedores 3 Um loja deve servir

Leia mais

User Datagram Protocol

User Datagram Protocol User Datagram Protocol UDP: Protocolo utiliza para distinguir para qual usuário ou aplicativo deve ser encaminhado um datagrama destinado a uma máquina que esteja executando mais de um processo. Problemas:

Leia mais

FTP FILE F TRANSFER PROTOCOL. Tópicos

FTP FILE F TRANSFER PROTOCOL. Tópicos FTP FILE F TRANSFER PROTOCOL Tópicos Revisão da aplicação FTP Implementação simples em Java de uma conexão FTP Implementação simples em Java de um comando de transferência de arquivo Descrição dos exercícios

Leia mais

Computação Distribuída

Computação Distribuída Roteiro da aula Sockets 1. UDP (User Datagram Protocol) 2. TCP ( (Transmission Control Protocol) 3. IP Multicast Invocação de Método M Remoto usando CORBA 1. Introdução 2. Modelo de Objeto 3. Entender

Leia mais

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Relembrando... Encapsulamento nas camadas de rede e protocolos 2-2 Relembrando...

Leia mais

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

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

Redes de Computadores. Trabalho de Laboratório Nº7

Redes de Computadores. Trabalho de Laboratório Nº7 Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Trabalho de Laboratório Nº7 Análise do tráfego na rede Protocolos TCP e UDP Objectivo Usar o Ethereal para visualizar

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1 Java NET: Interaja com a Internet Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1 CV Nome: Ricardo Terra Email: rterrabh [at]

Leia mais

Camada de Aplicação. Prof. Eduardo

Camada de Aplicação. Prof. Eduardo Camada de Aplicação RC Prof. Eduardo Introdução Você sabe que existem vários tipos de programas na Internet? - Talvez você já tenha notado que existem vários programas diferentes para cada um desses tipos.

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API Programação Na Web Servlets: Como usar as Servlets 1 António Gonçalves Agenda Template genérico para criar Servlets Servlet 2.4 API Exemplo: Hello World Output: Texto, HTML e hora local. Compilar uma Servlets

Leia mais

Sistemas de Operação Sockets

Sistemas de Operação Sockets Sistemas de Operação Sockets O que é um socket? Uma interface de comunicação entre processos que podem ou não residir na mesma máquina, mas que não precisam estar relacionados. É usado normalmente para

Leia mais

Capítulo 2 Camada de aplicação

Capítulo 2 Camada de aplicação Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Redes de computadores

Redes de computadores Redes de computadores Capítulo 2 Prof. Eduardo Pagani Julio epagani@gmail.com Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio electrônico SMTP, POP3, IMAP 2.5

Leia mais

Java : Comunicação Cliente-Servidor.

Java : Comunicação Cliente-Servidor. Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a

Leia mais

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

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

Threads e Sockets em Java. Threads em Java. Programas e Processos Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Número: Nome: Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

Leia mais

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho Obs: Não há necessidade de entregar a lista Questões do livro base (Kurose) Questões Problemas

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Conversão de Tipos e Arrays

Conversão de Tipos e Arrays Conversão de Tipos e Arrays Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Conversão de Tipos Permite converter

Leia mais

Agentes Inteligentes segundo o Chimera

Agentes Inteligentes segundo o Chimera Agentes Inteligentes segundo o Chimera C Heuristic I M E R A No ambiente de desenvolvimento de Agentes Inteligentes Chimera, uma extensão do LPA Win-Prolog, um agente é funcionalmente composto por: Código,

Leia mais

Endereçamento Privado Proxy e NAT. 2008, Edgard Jamhour

Endereçamento Privado Proxy e NAT. 2008, Edgard Jamhour Endereçamento Privado Proxy e NAT Motivação para o Endereçamento IP Privado Crescimento do IPv4 07/2007 490 milhões de hosts 01/2008 542 milhões de hosts IPv4 permite endereçar 4 bilhões de hosts. PREVISÃO

Leia mais

Conexão Socket na MIDP

Conexão Socket na MIDP Conexão Socket na MIDP A comunicação entre diferentes sistemas é comum na programação, e esta regra não desaparece na construção de aplicativos para pequenos dispositivos e, consequentemente, com o Java

Leia mais

Curso de especialização em Teleinformática Disciplina Sistemas Distribuídos Prof. Tacla

Curso de especialização em Teleinformática Disciplina Sistemas Distribuídos Prof. Tacla - 1 - - 2 - COMUNICAÇÃO INTER PROCESSOS DISTRIBUÍDOS. - 3 - - 4 - Os sockets UDP e TCP são a interface provida pelos respectivos protocolos. Pode-se dizer que estamos no middleware de sistemas distribuídos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local

Leia mais

Introdução à Camada de Aplicação. Prof. Eduardo

Introdução à Camada de Aplicação. Prof. Eduardo Introdução à Camada de Aplicação RC Prof. Eduardo Introdução Você sabe que existem vários tipos de programas na Internet? - Talvez você já tenha notado que existem vários programas diferentes para cada

Leia mais

Programação II Java Streams. Christopher Burrows

Programação II Java Streams. Christopher Burrows Programação II Java Streams Christopher Burrows Java Streams - Introdução As aplicações informáticas consistem em trocas de dados entre duas ou mais fontes/destinos. As Streams servem para representar

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais