SlideShare uma empresa Scribd logo
Curso de Java
by Antonio Rodrigues Carvalho Neto
Recursos
Avançados
Socket Connection
Socket Connection
O Java permite que sejam criados servidores de
socket para receber conexões e clientes de
socket para se conectar em servidores
Client (10.15.1.53)
Servidor 1 (10.15.1.20)
Servidor 2 (10.15.1.22)
Comunicação via
porta 15678
Server
Etapas para criar um Socket Server
1. Iniciar um servidor para escutar conexões em uma
porta específica
Sintaxe:
ServerSocket <objeto server> = new ServerSocket(<numero da porta>);
Exemplo:
ServerSocket server = new ServerSocket(15678);
2. Aguardar a conexão de um cliente nesta porta
Sintaxe:
Socket <objeto que representa o cliente conectado> = <objeto server>.accept();
Exemplo:
Socket con = server.accept();
Server (cont.)
3. Criar um canal para ler ou gravar dados no
cliente através desta conexão
Ler
InputStream in =
con.getInputStream();
int key = 0 ;
while (key != 27) {
key = in.read();
System.out.println(
(char) key);
}
Escrever
OutputStream out = con.getOutputStream();
// Cria um filtro de canudo fino para canudo
// grosso
OutputStreamWriter ouw = new
OutputStreamWriter( out );
ouw.write(“Vc se conectou no servidor...”);
4. Fechar o canal e a conexão
out.close();
con.close();
Client
Etapas para criar um Socket Client
1. Crie uma conexão com o servidor
Sintaxe:
Socket <objeto cliente> = new Socket(<server url>, <numero da porta>);
Exemplo:
Socket client = new Socket(“10.15.1.20”, 15678);
Client (cont.)
2. Criar um canal para ler ou gravar dados no
servidor através desta conexão
Ler
InputStream in =
con.getInputStream();
int key = 0 ;
while (key != 27) {
key = in.read();
System.out.println(
(char) key);
}
Escrever
OutputStream out = con.getOutputStream();
// Cria um filtro de canudo fino para canudo
// grosso
OutputStreamWriter ouw = new
OutputStreamWriter( out );
ouw.write(“Cliente se conectando no
servidor...”);
4. Fechar o canal e a conexão
out.close();
con.close();
Exercício
Um hacker invadiu a rede da sua empresa e implantou um vírus que
travou todos os equipamentos (Servidores e Desktops). A equipe de
segurança conseguiu identificar o programa que está fazendo isso, e
descobriu que ele pode ser desativado caso receba a seguinte
mensagem pela porta 1110 :
[ATTACK DISABLED]
[UNLOCK SYSTEM]
O único equipamento que você tem disponível que não foi afetado é seu
BlackBerry, que possui um compilador java e acesso a rede via wireless.
Faça um programa que simule um cliente de conexão socket e envie
esta mensagem para todos os equipamentos que estiverem no
segmento de rede 172.16.168.X.
Suponha que a rede wireless esteja estabelecida e que os comandos
Java do seu Blackberry são os mesmos utilizados no eclipse.
Referências
Java como programar 6ª edição
Capítulo 24
pags. 836 a 847
Use a cabeça Java 2ª edição
Capitulo 15
pags. 329 a 341
Caelum Java e Orientação a Objetos
Capitulo 19
pags. 220 a 227
Anúncio

Recomendados

Java orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
 
Web2py: Desenvolvimento Ágil de Aplicações Web com Python
Web2py: Desenvolvimento Ágil de Aplicações Web com Python
chackero
 
Trabalhando com as views do Web2Py
Trabalhando com as views do Web2Py
Hugo Leonardo Costa e Silva
 
Java14
Java14
Robson Silva Espig
 
Java12
Java12
Robson Silva Espig
 
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
Manuel Menezes de Sequeira
 
Java3
Java3
Robson Silva Espig
 
Banco de Dados MySQL + NetBeans Java + Interface Grafica
Banco de Dados MySQL + NetBeans Java + Interface Grafica
Divani Barbosa
 
Aula 7
Aula 7
Divani Barbosa
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
Fabiano Roman Beraldi
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Manuel Menezes de Sequeira
 
Programação Orientada por Objectos - Aula 3
Programação Orientada por Objectos - Aula 3
Manuel Menezes de Sequeira
 
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02
thomasdacosta
 
Exercícios PL/SQL
Exercícios PL/SQL
fernandomandarini
 
Java13
Java13
Robson Silva Espig
 
Jdbc e hibernate
Jdbc e hibernate
Maurício Linhares
 
Cadastro de clientes em c#
Cadastro de clientes em c#
André Luiz
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
Manuel Menezes de Sequeira
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
Marcos Castro
 
C# 6.0 - Novos Recursos (Agosto/2015)
C# 6.0 - Novos Recursos (Agosto/2015)
Renato Groff
 
Java4
Java4
Robson Silva Espig
 
Java2
Java2
Robson Silva Espig
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
Leonardo Melo Santos
 
Mock Objects
Mock Objects
elliando dias
 
Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010
rafaelferreira
 
Introducao ao C#
Introducao ao C#
Andre Teixeira Lopes
 
ASP.Net Módulo 2
ASP.Net Módulo 2
michellobo
 
String tokenizer
String tokenizer
Portal_do_Estudante_Java
 
Java recursos avançados - multithreading
Java recursos avançados - multithreading
Armando Daniel
 
Socket
Socket
Mario Jorge Pereira
 

Mais conteúdo relacionado

Mais procurados (20)

Aula 7
Aula 7
Divani Barbosa
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
Fabiano Roman Beraldi
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Manuel Menezes de Sequeira
 
Programação Orientada por Objectos - Aula 3
Programação Orientada por Objectos - Aula 3
Manuel Menezes de Sequeira
 
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02
thomasdacosta
 
Exercícios PL/SQL
Exercícios PL/SQL
fernandomandarini
 
Java13
Java13
Robson Silva Espig
 
Jdbc e hibernate
Jdbc e hibernate
Maurício Linhares
 
Cadastro de clientes em c#
Cadastro de clientes em c#
André Luiz
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
Manuel Menezes de Sequeira
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
Marcos Castro
 
C# 6.0 - Novos Recursos (Agosto/2015)
C# 6.0 - Novos Recursos (Agosto/2015)
Renato Groff
 
Java4
Java4
Robson Silva Espig
 
Java2
Java2
Robson Silva Espig
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
Leonardo Melo Santos
 
Mock Objects
Mock Objects
elliando dias
 
Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010
rafaelferreira
 
Introducao ao C#
Introducao ao C#
Andre Teixeira Lopes
 
ASP.Net Módulo 2
ASP.Net Módulo 2
michellobo
 
String tokenizer
String tokenizer
Portal_do_Estudante_Java
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
Fabiano Roman Beraldi
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Manuel Menezes de Sequeira
 
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02
thomasdacosta
 
Cadastro de clientes em c#
Cadastro de clientes em c#
André Luiz
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
Manuel Menezes de Sequeira
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
Marcos Castro
 
C# 6.0 - Novos Recursos (Agosto/2015)
C# 6.0 - Novos Recursos (Agosto/2015)
Renato Groff
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
Leonardo Melo Santos
 
Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010
rafaelferreira
 
ASP.Net Módulo 2
ASP.Net Módulo 2
michellobo
 

Destaque (14)

Java recursos avançados - multithreading
Java recursos avançados - multithreading
Armando Daniel
 
Socket
Socket
Mario Jorge Pereira
 
Java code conventions
Java code conventions
Armando Daniel
 
Java recursos avançados - streams
Java recursos avançados - streams
Armando Daniel
 
Java introdução ao eclipse
Java introdução ao eclipse
Armando Daniel
 
Java Swing
Java Swing
Daniel Arndt Alves
 
Associações entre classes
Associações entre classes
Ivan Fonseca
 
Java introdução ao java
Java introdução ao java
Armando Daniel
 
Java interface gráfica layouts
Java interface gráfica layouts
Armando Daniel
 
Programação orientada a objetos: herança
Programação orientada a objetos: herança
Ivan Ricarte
 
Java vetores e matrizes
Java vetores e matrizes
Armando Daniel
 
Java orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
Curso em Vídeo - Cursos Grátis com Certificado
 
Exercicios - Java Swing
Exercicios - Java Swing
Daniel Arndt Alves
 
Java recursos avançados - multithreading
Java recursos avançados - multithreading
Armando Daniel
 
Java recursos avançados - streams
Java recursos avançados - streams
Armando Daniel
 
Java introdução ao eclipse
Java introdução ao eclipse
Armando Daniel
 
Associações entre classes
Associações entre classes
Ivan Fonseca
 
Java introdução ao java
Java introdução ao java
Armando Daniel
 
Java interface gráfica layouts
Java interface gráfica layouts
Armando Daniel
 
Programação orientada a objetos: herança
Programação orientada a objetos: herança
Ivan Ricarte
 
Java vetores e matrizes
Java vetores e matrizes
Armando Daniel
 
Java orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Anúncio

Semelhante a Java recursos avançados - socket connection (20)

Implementação de Sockets em JAVA
Implementação de Sockets em JAVA
Marcio Palheta
 
Sockets java
Sockets java
Thiago Matos
 
1089335456 paper 4 sockets em java
1089335456 paper 4 sockets em java
josealcides2005
 
Fundamentos de Sockets
Fundamentos de Sockets
Denis L Presciliano
 
Fundamentos de Sockets
Fundamentos de Sockets
Denis L Presciliano
 
Java network-sockets-etc
Java network-sockets-etc
Universidade de São Paulo
 
apache+ssl+Jserv
apache+ssl+Jserv
elliando dias
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
Rafael Benevides
 
11 sockets
11 sockets
Thiago Oliveira
 
TDC 2011 - HornetQ e SwitchYard
TDC 2011 - HornetQ e SwitchYard
Samuel Tauil
 
As Novidades do JMS 2.0
As Novidades do JMS 2.0
Bruno Borges
 
Java Comunicação Serial
Java Comunicação Serial
Andrei Bastos
 
GUJavaSC - Alternativas ao Desenvolvimento do Back-end Mobile com Java EE
GUJavaSC - Alternativas ao Desenvolvimento do Back-end Mobile com Java EE
Rodrigo Cândido da Silva
 
GUJavaSC - Java EE 7 In Action
GUJavaSC - Java EE 7 In Action
Rodrigo Cândido da Silva
 
Aula sockets
Aula sockets
Universidade Federal do Pampa
 
Tecnologia Java
Tecnologia Java
Glaucio Scheibel
 
Curso de Servlets
Curso de Servlets
Marcelo Gonçalves
 
Ficheiros em JAVA
Ficheiros em JAVA
Pedro De Almeida
 
Tutorial WebSocket em Java
Tutorial WebSocket em Java
lucascsoliveira
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
Rodrigo Cândido da Silva
 
Anúncio

Mais de Armando Daniel (6)

Java recursos avançados - filters
Java recursos avançados - filters
Armando Daniel
 
Java orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
Armando Daniel
 
Java orientação a objetos (introdução)
Java orientação a objetos (introdução)
Armando Daniel
 
Java orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exercicios
Armando Daniel
 
Java orientação a objetos (herança)
Java orientação a objetos (herança)
Armando Daniel
 
Java interface gráfica swing
Java interface gráfica swing
Armando Daniel
 
Java recursos avançados - filters
Java recursos avançados - filters
Armando Daniel
 
Java orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
Armando Daniel
 
Java orientação a objetos (introdução)
Java orientação a objetos (introdução)
Armando Daniel
 
Java orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exercicios
Armando Daniel
 
Java orientação a objetos (herança)
Java orientação a objetos (herança)
Armando Daniel
 
Java interface gráfica swing
Java interface gráfica swing
Armando Daniel
 

Java recursos avançados - socket connection

  • 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  • 4. Socket Connection O Java permite que sejam criados servidores de socket para receber conexões e clientes de socket para se conectar em servidores Client (10.15.1.53) Servidor 1 (10.15.1.20) Servidor 2 (10.15.1.22) Comunicação via porta 15678
  • 5. Server Etapas para criar um Socket Server 1. Iniciar um servidor para escutar conexões em uma porta específica Sintaxe: ServerSocket <objeto server> = new ServerSocket(<numero da porta>); Exemplo: ServerSocket server = new ServerSocket(15678); 2. Aguardar a conexão de um cliente nesta porta Sintaxe: Socket <objeto que representa o cliente conectado> = <objeto server>.accept(); Exemplo: Socket con = server.accept();
  • 6. Server (cont.) 3. Criar um canal para ler ou gravar dados no cliente através desta conexão Ler InputStream in = con.getInputStream(); int key = 0 ; while (key != 27) { key = in.read(); System.out.println( (char) key); } Escrever OutputStream out = con.getOutputStream(); // Cria um filtro de canudo fino para canudo // grosso OutputStreamWriter ouw = new OutputStreamWriter( out ); ouw.write(“Vc se conectou no servidor...”); 4. Fechar o canal e a conexão out.close(); con.close();
  • 7. Client Etapas para criar um Socket Client 1. Crie uma conexão com o servidor Sintaxe: Socket <objeto cliente> = new Socket(<server url>, <numero da porta>); Exemplo: Socket client = new Socket(“10.15.1.20”, 15678);
  • 8. Client (cont.) 2. Criar um canal para ler ou gravar dados no servidor através desta conexão Ler InputStream in = con.getInputStream(); int key = 0 ; while (key != 27) { key = in.read(); System.out.println( (char) key); } Escrever OutputStream out = con.getOutputStream(); // Cria um filtro de canudo fino para canudo // grosso OutputStreamWriter ouw = new OutputStreamWriter( out ); ouw.write(“Cliente se conectando no servidor...”); 4. Fechar o canal e a conexão out.close(); con.close();
  • 9. Exercício Um hacker invadiu a rede da sua empresa e implantou um vírus que travou todos os equipamentos (Servidores e Desktops). A equipe de segurança conseguiu identificar o programa que está fazendo isso, e descobriu que ele pode ser desativado caso receba a seguinte mensagem pela porta 1110 : [ATTACK DISABLED] [UNLOCK SYSTEM] O único equipamento que você tem disponível que não foi afetado é seu BlackBerry, que possui um compilador java e acesso a rede via wireless. Faça um programa que simule um cliente de conexão socket e envie esta mensagem para todos os equipamentos que estiverem no segmento de rede 172.16.168.X. Suponha que a rede wireless esteja estabelecida e que os comandos Java do seu Blackberry são os mesmos utilizados no eclipse.
  • 10. Referências Java como programar 6ª edição Capítulo 24 pags. 836 a 847 Use a cabeça Java 2ª edição Capitulo 15 pags. 329 a 341 Caelum Java e Orientação a Objetos Capitulo 19 pags. 220 a 227