SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Java Standard Edition (JSE)
           15. Sockets




        Esp. Márcio Palheta
 Gtalk: marcio.palheta@gmail.com
                                   1
Agenda
 Protocolo de comunicação;
 Porta de acesso;
 Socket;
 Servidor de transações;
 Cliente;
 Exercícios;


                             2
A API e os conceitos
 Neste capítulo, estudaremos a API de
 Sockets do pacote java.net;
 Perceba que estamos colocando em
 prática todos os conceitos a cerca
 bibliotecas e interfaces, que
 aprendemos nesse curso;
 Fica mais fácil avançar na API, uma vez
 que a base está sólida;
                                           3
Protocolos
 A fim de garantir a comunicação entre
 estações remotamente dispostas,
 definiu-se conjuntos de regras, ditos
 Protocolos;
 O protocolo que usaremos é o
 Transmission Control Protocol – TCP;
 Como o TCP, podemos estabelecer um
 fluxo de dados entre estações distintas;

                                            4
Fluxo de dados TCP




                     5
Sobre a conexão
 Podemos conectar mais de um cliente a
 um servidor;
 Os clientes podem trocar mensagens
 usando o servidor;
 Para trabalhar com comunicação de
 dados, o java oferece as classes do
 pacote java.net;
 O TCP vai garantir a entrega dos nossos
 pacotes de dados;
                                       6
Porta de acesso
 É comum que várias aplicações locais
 troquem dados com outras do Servidor;
 Mas temos apenas uma conexão física;
 Assim como há IP para identificar CPU,
 a porta é a solução para acesso a
 aplicações de uma máquina;
 A porta varia de 0 a 65535. Só é
 possível conexão se uma porta estiver
 liberada;                              7
Socket
Digamos que um cliente se conecta a um
programa rodando na porta 80(http);
Precisamos esperar que ele desconecte
para conectarmos outro cliente?
Após aceitar a conexão, o servidor
redireciona o cliente para outra porta;
Dessa forma, a porta 80 fica liberada,
aguardando outra conexão;
Em java, usamos threads para a troca;
                                          8
Aplicação servidora
 Aceita conexão e dados de aplicações
 clientes;
 O servidor deve abrir uma porta e ficar
 escutando por uma conexão cliente;
 Após a conexão, o servidor aceita dados
 (Streams) enviados pelo cliente;
 Por fim, é necessário fechar as
 conexões;
                                       9
Exercício 01 – Servidor.java




                               10
Exercício 02 – Cliente.java




                              11
Considerações
 O que aconteceu nos exercícios
 anteriores?
 Foram criados um Servidor e um Cliente
 O cliente envia objetos String para o
 servidor;
 O servidor interpreta(imprime) os
 objetos recebidos;
 A classe String implementa a interface
 Serializable;
                                      12
Exercício 03
 Crie a classe Mensagem.java




                               13
Exercício 04
 Atualize o código das classes Cliente e
 Servidor, para implementar a troca de
 objetos Mensagem, ao invés de objetos
 String;




                                       14
Bibliografia
 Java - Como programar, de Harvey M.
 Deitel
  Use a cabeça! - Java, de Bert Bates e
 Kathy Sierra
  (Avançado) Effective Java
 Programming Language Guide, de Josh
 Bloch

                                      15
Referências WEB
  SUN: www.java.sun.com
  Threads:
  http://download.oracle.com/javase/tutorial
  /essential/concurrency/
Fóruns e listas:
  Javaranch: www.javaranch.com
  GUJ: www.guj.com.br

Apostilas:
 Argonavis: www.argonavis.com.br
 Caelum: www.caelum.com.br
                                               16
Java Standard Edition (JSE)
           15. Sockets




        Esp. Márcio Palheta
 Gtalk: marcio.palheta@gmail.com
                                   17

Weitere ähnliche Inhalte

Was ist angesagt?

Componentes do computador
Componentes do computadorComponentes do computador
Componentes do computador
Vitoria Facundo
 

Was ist angesagt? (20)

Sistemas digitais e analógicos
Sistemas digitais e analógicosSistemas digitais e analógicos
Sistemas digitais e analógicos
 
Aula 02 tipos de encapsulamentos e eletricidade
Aula 02 tipos de encapsulamentos e eletricidadeAula 02 tipos de encapsulamentos e eletricidade
Aula 02 tipos de encapsulamentos e eletricidade
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Super mario (1985)
Super mario (1985)Super mario (1985)
Super mario (1985)
 
8085 alp programs
8085 alp programs8085 alp programs
8085 alp programs
 
Ante morten
Ante mortenAnte morten
Ante morten
 
Mentes geniais
Mentes geniaisMentes geniais
Mentes geniais
 
Addressing Modes Of 8086
Addressing Modes Of 8086Addressing Modes Of 8086
Addressing Modes Of 8086
 
Protocolo IPv4
Protocolo IPv4Protocolo IPv4
Protocolo IPv4
 
Python 02
Python 02Python 02
Python 02
 
Gerência de redes utilizando o cacti
Gerência de redes utilizando o cactiGerência de redes utilizando o cacti
Gerência de redes utilizando o cacti
 
Comunicaçao de dados
Comunicaçao de dados Comunicaçao de dados
Comunicaçao de dados
 
Montagem e Manutenção de Computadores.pptx
Montagem e Manutenção de Computadores.pptxMontagem e Manutenção de Computadores.pptx
Montagem e Manutenção de Computadores.pptx
 
conteúdos UFCD 0771.ppt
conteúdos UFCD 0771.pptconteúdos UFCD 0771.ppt
conteúdos UFCD 0771.ppt
 
Componentes do computador
Componentes do computadorComponentes do computador
Componentes do computador
 
Transmissão síncrona e assíncrona
Transmissão síncrona e assíncronaTransmissão síncrona e assíncrona
Transmissão síncrona e assíncrona
 
Aula 1: Conceitos de redes sem fio
Aula 1: Conceitos de redes sem fioAula 1: Conceitos de redes sem fio
Aula 1: Conceitos de redes sem fio
 
Exercício redes cap 3
Exercício redes cap 3Exercício redes cap 3
Exercício redes cap 3
 
Cisco Packet Tracer
Cisco Packet TracerCisco Packet Tracer
Cisco Packet Tracer
 
Variaveis
VariaveisVariaveis
Variaveis
 

Andere mochten auch

Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012
Marcio Palheta
 
indicadores hospitalares
indicadores hospitalaresindicadores hospitalares
indicadores hospitalares
InformaGroup
 

Andere mochten auch (20)

Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012
 
Trabalhando com Threads em JAVA
Trabalhando com Threads em JAVATrabalhando com Threads em JAVA
Trabalhando com Threads em JAVA
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Weka em aplicações java
Weka em aplicações javaWeka em aplicações java
Weka em aplicações java
 
Capítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizadosCapítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizados
 
Capítulo 09 - Serviços em Background
Capítulo 09 - Serviços em BackgroundCapítulo 09 - Serviços em Background
Capítulo 09 - Serviços em Background
 
Capítulo 11 - Melhorando a usabilidade com qualifiers
Capítulo 11 - Melhorando a usabilidade com qualifiersCapítulo 11 - Melhorando a usabilidade com qualifiers
Capítulo 11 - Melhorando a usabilidade com qualifiers
 
Capítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSONCapítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSON
 
Capítulo 12 - Fragments
Capítulo 12 - FragmentsCapítulo 12 - Fragments
Capítulo 12 - Fragments
 
Capítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telasCapítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telas
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorld
 
Capítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de ProjetoCapítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de Projeto
 
Capítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteCapítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLite
 
Qualidade em serviços de saúde indicadores
Qualidade em serviços de saúde indicadoresQualidade em serviços de saúde indicadores
Qualidade em serviços de saúde indicadores
 
Guia metodologicos de doenças crônicas 2007
Guia metodologicos de doenças crônicas 2007Guia metodologicos de doenças crônicas 2007
Guia metodologicos de doenças crônicas 2007
 
Curriculum lattes
Curriculum lattesCurriculum lattes
Curriculum lattes
 
Instrumentos de avaliação dos indicadores de Saúde da Pessoa Idosa: uma exper...
Instrumentos de avaliação dos indicadores de Saúde da Pessoa Idosa: uma exper...Instrumentos de avaliação dos indicadores de Saúde da Pessoa Idosa: uma exper...
Instrumentos de avaliação dos indicadores de Saúde da Pessoa Idosa: uma exper...
 
Cv em power point atualizado
Cv em power point atualizadoCv em power point atualizado
Cv em power point atualizado
 
Capítulo 07 - Acesso a câmera e arquivos armazenados no device
Capítulo 07 - Acesso a câmera e arquivos armazenados no deviceCapítulo 07 - Acesso a câmera e arquivos armazenados no device
Capítulo 07 - Acesso a câmera e arquivos armazenados no device
 
indicadores hospitalares
indicadores hospitalaresindicadores hospitalares
indicadores hospitalares
 

Ähnlich wie Implementação de Sockets em JAVA

Sistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketSistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - Socket
Adriano Teixeira de Souza
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
Maurício Linhares
 

Ähnlich wie Implementação de Sockets em JAVA (20)

1089335456 paper 4 sockets em java
1089335456 paper 4   sockets em java1089335456 paper 4   sockets em java
1089335456 paper 4 sockets em java
 
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
 
Sistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketSistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - Socket
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application Server
 
Web service
Web serviceWeb service
Web service
 
Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
 
Apres s3
Apres s3 Apres s3
Apres s3
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
XML-RPC.pdf
XML-RPC.pdfXML-RPC.pdf
XML-RPC.pdf
 
Te aula2
Te aula2Te aula2
Te aula2
 
Camada de aplicação parte1
Camada de aplicação parte1Camada de aplicação parte1
Camada de aplicação parte1
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
 
Lab 06 ping_com_udp
Lab 06 ping_com_udpLab 06 ping_com_udp
Lab 06 ping_com_udp
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - Resumo
 
Web socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webWeb socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a web
 

Kürzlich hochgeladen

Kürzlich hochgeladen (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Implementação de Sockets em JAVA

  • 1. Java Standard Edition (JSE) 15. Sockets Esp. Márcio Palheta Gtalk: marcio.palheta@gmail.com 1
  • 2. Agenda Protocolo de comunicação; Porta de acesso; Socket; Servidor de transações; Cliente; Exercícios; 2
  • 3. A API e os conceitos Neste capítulo, estudaremos a API de Sockets do pacote java.net; Perceba que estamos colocando em prática todos os conceitos a cerca bibliotecas e interfaces, que aprendemos nesse curso; Fica mais fácil avançar na API, uma vez que a base está sólida; 3
  • 4. Protocolos A fim de garantir a comunicação entre estações remotamente dispostas, definiu-se conjuntos de regras, ditos Protocolos; O protocolo que usaremos é o Transmission Control Protocol – TCP; Como o TCP, podemos estabelecer um fluxo de dados entre estações distintas; 4
  • 6. Sobre a conexão Podemos conectar mais de um cliente a um servidor; Os clientes podem trocar mensagens usando o servidor; Para trabalhar com comunicação de dados, o java oferece as classes do pacote java.net; O TCP vai garantir a entrega dos nossos pacotes de dados; 6
  • 7. Porta de acesso É comum que várias aplicações locais troquem dados com outras do Servidor; Mas temos apenas uma conexão física; Assim como há IP para identificar CPU, a porta é a solução para acesso a aplicações de uma máquina; A porta varia de 0 a 65535. Só é possível conexão se uma porta estiver liberada; 7
  • 8. Socket Digamos que um cliente se conecta a um programa rodando na porta 80(http); Precisamos esperar que ele desconecte para conectarmos outro cliente? Após aceitar a conexão, o servidor redireciona o cliente para outra porta; Dessa forma, a porta 80 fica liberada, aguardando outra conexão; Em java, usamos threads para a troca; 8
  • 9. Aplicação servidora Aceita conexão e dados de aplicações clientes; O servidor deve abrir uma porta e ficar escutando por uma conexão cliente; Após a conexão, o servidor aceita dados (Streams) enviados pelo cliente; Por fim, é necessário fechar as conexões; 9
  • 10. Exercício 01 – Servidor.java 10
  • 11. Exercício 02 – Cliente.java 11
  • 12. Considerações O que aconteceu nos exercícios anteriores? Foram criados um Servidor e um Cliente O cliente envia objetos String para o servidor; O servidor interpreta(imprime) os objetos recebidos; A classe String implementa a interface Serializable; 12
  • 13. Exercício 03 Crie a classe Mensagem.java 13
  • 14. Exercício 04 Atualize o código das classes Cliente e Servidor, para implementar a troca de objetos Mensagem, ao invés de objetos String; 14
  • 15. Bibliografia Java - Como programar, de Harvey M. Deitel Use a cabeça! - Java, de Bert Bates e Kathy Sierra (Avançado) Effective Java Programming Language Guide, de Josh Bloch 15
  • 16. Referências WEB SUN: www.java.sun.com Threads: http://download.oracle.com/javase/tutorial /essential/concurrency/ Fóruns e listas: Javaranch: www.javaranch.com GUJ: www.guj.com.br Apostilas: Argonavis: www.argonavis.com.br Caelum: www.caelum.com.br 16
  • 17. Java Standard Edition (JSE) 15. Sockets Esp. Márcio Palheta Gtalk: marcio.palheta@gmail.com 17