Programação: Sockets em Java



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

Programação de Sockets

Comunicação entre processos

Programação de sockets com TCP

Programação de Sockets

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

Sockets com Java Parte I

Mecanismos de Comunicação. Sockets em java (

Sockets. Bruno Guimarães Lucas Rossini

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

Sistemas Distribuídos

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

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

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO

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

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

INF1013 MODELAGEM DE SOFTWARE

Sistemas Distribuídos Java Sockets

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

Programação com sockets (em Java)

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

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

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

Um pouco do Java. Prof. Eduardo

Cliente-servidor com Sockets TCP

P Procedimento para Instalação do SisGEF 7.0 na Máquina Servidor

Adriano Reine Bueno Rafael Barros Silva

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

Java 2 Standard Edition Fundamentos de

Sistemas Distribuídos (DCC/UFRJ)

PROGRAMAÇÃO COM SOCKETS

Java : Comunicação Cliente-Servidor.

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

REDES DE COMPUTADORES

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

Sistemas Distribuídos

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Redes de Computadores II

Redes de Computadores e a Internet

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama

Passagem de Mensagens

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

Redes de Computadores

Camada de Transporte, protocolos TCP e UDP

Rua Joinville, 388 Sala Bairro Centro - Itajaí SC CEP Fone/Fax: (0xx47) joao@sysmo.com.

UNIVERSIDADE. Sistemas Distribuídos

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

TRABALHO DE REDES DE COMPUTADORES 1 GNUTELLA

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Diagrama lógico da rede da empresa Fácil Credito

R2D2E TANK SIMULATOR

ROTEIRO PARA EMISSÃO DE CERTIFICADO DIGITAL A1

Aula Prática. Comunicação em SOCKTS. Disciplina: INF01151

A Internet, ou apenas Net, é uma rede mundial de computadores ligados, entre si, através de linhas telefónicas comuns, linhas de comunicação

Execícios de Revisão Redes de Computadores Edgard Jamhour. Proxy, NAT Filtros de Pacotes

Trabalho de Conclusão de Curso

Comunicação entre Processos

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Camada de Aplicação. Prof. Eduardo

Firewall Iptables. Professor: João Paulo de Brito Gonçalves. Campus - Cachoeiro Curso Técnico de Informática

Desenvolvimento de Sites Educacionais Interativos com Imagens, Sons e Vídeos pelos Professores

Traceroute É uma ferramenta de diagnóstico que rastreia a rota de um pacote através de uma rede de computadores e que utiliza os protocolos IP e ICMP.

Redes de Computadores (LTIC) 2013/14. GRUPO 1 (7 valores) 1º Teste 1 de Abril de Nome: Nº de aluno:

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

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

FTP FILE F TRANSFER PROTOCOL. Tópicos

Redes de Computadores Programação com Sockets

MINISTÉRIO DA SAÚDE. Secretária de Gestão Estratégica e Participativa da Saúde SGEP. Coordenação de Desenvolvimento dos Sistemas de Saúde - CDESS

Orientação a Objetos

Sistemas Distribuídos Métodos de Invocação Remota IV. Prof. MSc. Hugo Souza

Atualizando versão do Aplicativo

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Trabalho de laboratório sobre ARP

MODELO CLIENTE SERVIDOR

Disciplina de Redes de Computadores Aula Prática IV Professor Dr Windson Viana de Carvalho Protocolos de Números de Matrícula :

CARTOSOFT GUIA PRÁTICO PROCART SISTEMAS

Aula 30 - Sockets em Java

REDES DE COMPUTADORES. Departamento de Informática da Faculdade de Ciências e Tecnologia da UNL 2008 / 2009

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Exemplos práticos do uso de RMI em sistemas distribuídos

Introdução à Engenharia de Computação

Redes de Computadores. TCP Orientação à Conexão. Prof. Othon M. N. Batista Mestre em Informática

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

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

Rede de Computadores (REC)

Ironmail Filtrando s indesejados

Transcrição:

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 Exemplo de aplicação Redes de Computadores 2

Programação usando Sockets Tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java A comunicação se dá utilizando TCP ou UDP Para fazer uma conexão via rede é necessário saber: O endereço da máquina remota (IP ou nome da máquina) O número da porta na qual o processo remoto está executando As duas informações acima formam o que se chama de socket Sockets em Java Classes disponíveis no pacote java.net Redes de Computadores 3

Sockets com TCP Primeiramente ocorre uma tentativa de estabelecimento de uma conexão (onde é informado endereço e porta do servidor) Após, basta enviar dados para o fluxo da conexão (não é preciso informar endereço e porta novamente) Baseado no modelo de fluxos (streams) Um socket utiliza dois fluxos: um fluxo de entrada e outro de saída Um processo envia dados a outro simplesmente escrevendo no fluxo de saída associado com um socket Um processo recebe dados escritos por outro processo lendo de um fluxo de entrada associado com um socket estalebecimento da conexão n troca de informações encerramento da conexão Redes de Computadores 4

Sockets com TCP (lado servidor) Criar um socket do tipo servidor em uma determinada porta ServerSocket server = new ServerSocket (6789); Esperar por uma conexão (permanece bloqueado até um pedido de conexão ser recebido) Socket connectionsocket = server.accept(); Criar o fluxo de entrada e o de saída ObjectInputStream input = new ObjectInputStream (connection.getinputstream()); ObjectOutPutStream output = new ObjectOutputStream (connection.getoutputstream()); Recebendo e enviando dados String message = (String) input.readobject(); output.writeobject( os dados foram recebidos ); Redes de Computadores 5

Sockets com TCP (lado cliente) Criar socket cliente e ativar conexão TCP entre cliente e servidor Socket client = new Socket ( endereçoservidor, 6789); Criar o fluxo de entrada e o de saída ObjectInputStream input = new ObjectInputStream (client.getinputstream()); ObjectOutPutStream output = new ObjectOutputStream (client.getoutputstream()); Enviando e recebendo dados output.writeobject( enviando dados ); String message = (String) input.readobject(); Fechar conexão com o servidor client.close(); Redes de Computadores 6

Exemplo de aplicação usando TCP Fazer download do programa exemplo (possui as classes TCPServer.java e TCPClient.java) Em dupla de alunos, instalar as diferentes classes em diferentes máquinas Compilar, rodar, analisar e comentar o código do programa Redes de Computadores 7

Sockets com UDP Não há uma tentativa de estabelecimento de uma conexão Para cada mensagem enviada (tanto pelo cliente quanto pelo servidor) é necessário informar o endereço e a porta do destinatário Redes de Computadores 8

Sockets com UDP (lado servidor) Criar um socket em uma determinada porta DatagramSocket server = new DatagramSocket(9876); Criar um objeto para receber o pacote/criar um pacote para ser enviado DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); DatagramPacket sendpacket = new DatagramPacket (senddata, senddata.length, IPAddress, port); Recebendo e enviando os pacotes server.receive(receivepacket); server.send(sendpacket); Redes de Computadores 9

Sockets com UDP (lado cliente) Criar um socket (ao contrário do TCP, não ativa conexão) DatagramSocket client = new DatagramSocket(); Criar um pacote para ser enviado/criar um objeto para receber o pacote DatagramPacket sendpacket = new DatagramPacket (senddata, senddata.length, IPAddress, 9876); DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); Recebendo e enviando os pacotes client.send(sendpacket); client.receive(receivepacket); Redes de Computadores 10

Exemplo de aplicação usando UDP Fazer download do programa exemplo (possui as classes UDPServer.java e UDPClient.java) Em dupla de alunos, instalar as diferentes classes em diferentes máquinas Compilar, rodar, analisar e comentar o código do programa Redes de Computadores 11

Exercício Desenvolver uma aplicação de bate-papo na sua linguagem de preferência. Redes de Computadores 12

Bibliografia Kurose, J.; Ross, K. Redes de Computadores e Internet: uma nova abordagem. Boston: Addison-Wesley, 2001. Deitel, H. M.; Deitel, P. J. Java: como programar. 3. ed. Bookman, 2001. SUN, Java Tutorial. http://java.sun.com/docs/books/tutorial/networking/sockets/index.html http://java.sun.com/docs/books/tutorial/networking/datagrams/index.h tml Redes de Computadores 13