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

Documentos relacionados
Redes de Computadores

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

PROGRAMAÇÃO COM SOCKETS

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

Programação de Sockets

Programação de sockets com TCP

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

Mecanismos de Comunicação. Sockets em java (

Comunicação entre processos

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio

User Datagram Protocol

Camada de Transporte. Bruno Silvério Costa

Programação de Sockets

Resumo das Propriedades de UDP e de TCP

Correio eletrônico: SMTP [RFC 821]

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

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

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

Sockets e Threads em Java

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1

Capítulo 2 Camada de aplicação

EXTENSÕES DE ENDEREÇO DA SUB-REDE E DA SUPER-REDE

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

Programação: Sockets em Java

Utilização das classes Java para comunicação TCP/IP e UDP/IP

Camada de Transporte. Redes Industriais Rone Ilídio UFSJ CAP

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

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

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

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

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Programação com sockets (em Java)

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

Tipos, Literais, Operadores

Tipos, Literais, Operadores

DNS: Domain Name System

Tratamento de Exceções

Caso 1 NetScanner Main

Redes de Computadores Programação com Sockets

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

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

Sistemas Distribuídos

CETEC Centro Paula Souza

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ SOCKETS UDP, TCP E MULTICAST. Prof. Cesar Augusto Tacla

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

Capítulo 2 Camada de aplicação

Programação com Sockets

Linguagem de Programação II Implementação

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Módulo 1. Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Redes de Computadores I

Entrada e Saída Exercício. Linguagem Java. Adenilso da Silva Simão 01/09/05

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

Manipulação de arquivos. João Paulo Q. dos Santos

Aula 30 - Sockets em Java

Capítulo 2 Camada de aplicação

JAVA. Professor: Bruno Toledo

Capítulo 2 Camada de aplicação

Programação Estruturada e Orientada a Objetos

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Sistema Futebol - Java

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Sistemas Distribuídos

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

Reader e Writer para streams de caracteres (texto).

Hierarquia de classes. Veja as diversas classes do pacote

INF1013 MODELAGEM DE SOFTWARE

Aula teórica 11. Tema 11. Repetição. Ciclo while Ciclo do-while Ciclo for

Programação com Sockets

Java : Comunicação Cliente-Servidor.

Instituto Superior de Engenharia de Lisboa

Algoritmos I Aula 14 Java: estruturas de seleção e repetição

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

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Fundamentos de Programação 1

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Programação Java. Entrada & Saída

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

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

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

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

Seleção Múltipla Laços (while, do-while, for) AULA 05

Principais APIs de Suporte à Linguagem Java: Visão Geral

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

[Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999.

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano

Superintendência de Distribuição

Como pôde verificar, a criação de um objecto do tipo File não cria o ficheiro em disco.

Entrada e Saída de dados por JOptionPane

PROGRAMAÇÃO JAVA. Parte 3

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programa de Computador que funciona em Rede

Sintaxe Básica de Java Parte 2

Transcrição:

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 distintos. Utilidade: Comunicação entre máquinas conectadas em uma rede.

Endereço IP Número que identifica todos os computadors conectados à internet Exemplo: 255.255.255.255 (obs: ipv4) Como saber o ip no Windows no prompt de comandos digite ipconfig 192.168.34.21 170.163.13.101 Internet

Portas Número de 16 bits que identifica o processo Canais por onde as aplicações se comunicam Portas de 0 a 1023: reservadas... 1 2 3 65535 Processo 1 Processo 2 Processo 3 Processo 4 Computador

Class Importantes Pacote java.net ServerSocket: define objetos servidores, os quais abrirão um canal de comunicação e esperarão conexões externas Socket: define objetos que formarão o link (um no cliente outro no servidor Obs: a conexão não depende da linguagem de programação

Exemplo de conexão Aplicativos Computador 1 Computador 2 Processo Servidor Rede de Computadores Processo Cliente

Exemplo de conexão Objeto do tipo ServerSocket Objeto do tipo Socket Servidor Escuta uma porta Cliente

Exemplo de conexão Servidor Escuta uma porta Requisita conexão Cliente

Exemplo de conexão Servidor Escuta uma porta Cliente Conexão Conexão Estabelecida Objeto do tipo Socket

Exemplo de UDPSocket Duas classes UDPServer: cria um servidor UDP que recebe as mensagens e exibe na tela UDPClient: envia para o servidor mensagens fornecidas pelo usuário Se o usuário digitar fim, tanto o servidor quanto o cliente são finalizados

import java.io.*; import java.net.*; class UDPServer { public static void main(string args[]) throws Exception { System.out.println("Servidor Iniciado..."); while (true) { byte[] receivedata = new byte[1024]; byte[] senddata = new byte[1024]; DatagramSocket serversocket = new DatagramSocket(9876); DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); serversocket.receive(receivepacket); String sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivepacket.getaddress(); System.out.println("Recebido de " + IPAddress.getHostAddress()+":" + sentence); serversocket.close(); if (sentence.substring(0,3).equals("fim")) break;

package basico; import java.io.*; import java.net.*; import javax.swing.joptionpane; class UDPClient { public static void main(string args[]) throws Exception { while (true) { DatagramSocket clientsocket = new DatagramSocket(); byte[] senddata = new byte[1024]; byte[] receivedata = new byte[1024]; InetAddress IPAddress = InetAddress.getByName("localhost"); String sentence = JOptionPane.showInputDialog("Digite:"); senddata = sentence.getbytes(); DatagramPacket sendpacket = new DatagramPacket(sendData, sentence.length(), IPAddress, 9876); clientsocket.send(sendpacket); clientsocket.close(); if (sentence.equals("fim")) break;

Exemplo de TCPSocket Sequência para criar um servidor Criar um objeto do tipo ServerSocket Fazer esse objeto escutar uma porta Ao escutar uma conexão, criar um objeto do tipo Socket Criar objetos de escrita e leitura e associar ao objeto Socket O servidor reenvia todas as mensagens recebidas. O cliente Cria a conexão Envia uma mensagem digitado pelo usuário Recebe e exibe a resposta Quando o usuário digitar fim, ambos terminam

import java.net.*;import java.io.*; public class TCPServer { public static void main(string args[]) { System.out.println("Servidor iniciado..."); ServerSocket socketservidor = null; try { socketservidor = new ServerSocket(5000); Socket socketcliente = null; socketcliente = socketservidor.accept(); PrintWriter out = new PrintWriter(socketCliente.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(socketCliente.getInputStream())); String entrada; while ((entrada = in.readline())!= null) { System.out.println("Recebido:" + entrada); out.println(entrada); if (entrada.equals("fim")) break; out.close(); in.close(); socketservidor.close(); socketcliente.close(); catch (IOException e) { System.out.println("Erro ao criar os streams"); System.exit(1);

import java.io.*;import java.net.*;import javax.swing.*; public class TCPClient { public static void main(string args[]) { Socket socket = null; // Socket cliente PrintWriter out = null; // Escreve no socket BufferedReader in = null; // Le do socket try { socket = new Socket("localhost", 5000); out = new PrintWriter(socket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String entradaservidor = ""; String entradausuario = JOptionPane.showInputDialog("Digite para enviar para o servidor:"); while (!entradausuario.equals("fim")) { out.println(entradausuario); entradaservidor = in.readline(); entradausuario = JOptionPane.showInputDialog( "Chegou do servidor: " + entradaservidor + "\ndigite para enviar para o servidor:"); out.close(); in.close(); socket.close(); catch (IOException e) { System.err.println("Erro na criação dos objetos"); System.exit(1);