SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacoteManuel Menezes de Sequeira
 
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02thomasdacosta
 
Cadastro de clientes em c#
Cadastro de clientes em c#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...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)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)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#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 2010Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010rafaelferreira
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2michellobo
 

Mais procurados (20)

Aula 7
Aula 7 Aula 7
Aula 7
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
 
Programação Orientada por Objectos - Aula 3
Programação Orientada por Objectos - Aula 3Programação Orientada por Objectos - Aula 3
Programação Orientada por Objectos - Aula 3
 
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02
 
Exercícios PL/SQL
Exercícios PL/SQLExercícios PL/SQL
Exercícios PL/SQL
 
Java13
Java13Java13
Java13
 
Jdbc e hibernate
Jdbc e hibernateJdbc e hibernate
Jdbc e hibernate
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
C# 6.0 - Novos Recursos (Agosto/2015)
C# 6.0 - Novos Recursos (Agosto/2015)C# 6.0 - Novos Recursos (Agosto/2015)
C# 6.0 - Novos Recursos (Agosto/2015)
 
Java4
Java4Java4
Java4
 
Java2
Java2Java2
Java2
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Mock Objects
Mock ObjectsMock Objects
Mock Objects
 
Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010Palestra Mocks - AgileBrazil 2010
Palestra Mocks - AgileBrazil 2010
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
String tokenizer
String tokenizerString tokenizer
String tokenizer
 

Destaque

Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreadingArmando Daniel
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streamsArmando Daniel
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipseArmando Daniel
 
Associações entre classes
Associações entre classesAssociações entre classes
Associações entre classesIvan Fonseca
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layoutsArmando Daniel
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herançaIvan Ricarte
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizesArmando Daniel
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 

Destaque (14)

Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Socket
SocketSocket
Socket
 
Java code conventions
Java code conventionsJava code conventions
Java code conventions
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
 
Java Swing
Java SwingJava Swing
Java Swing
 
Associações entre classes
Associações entre classesAssociações entre classes
Associações entre classes
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layouts
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herança
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 

Semelhante a Curso Java Socket Conexão Cliente Servidor

1089335456 paper 4 sockets em java
1089335456 paper 4   sockets em java1089335456 paper 4   sockets em java
1089335456 paper 4 sockets em javajosealcides2005
 
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo SilveiraServlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo SilveiraCaelum
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05thomasdacosta
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguroCharles Fortes
 
Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Maurício Moreira Neto
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoHanderson Frota
 
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 webJackson Veroneze
 
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 webMario Mendonça
 
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSJackson F. de A. Mafra
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureFernando Roberto Proença
 

Semelhante a Curso Java Socket Conexão Cliente Servidor (20)

Java network-sockets-etc
Java network-sockets-etcJava network-sockets-etc
Java network-sockets-etc
 
1089335456 paper 4 sockets em java
1089335456 paper 4   sockets em java1089335456 paper 4   sockets em java
1089335456 paper 4 sockets em java
 
Sockets : Introdução
Sockets : IntroduçãoSockets : Introdução
Sockets : Introdução
 
Fundamentos de Sockets
Fundamentos de SocketsFundamentos de Sockets
Fundamentos de Sockets
 
Fundamentos de Sockets
Fundamentos de SocketsFundamentos de Sockets
Fundamentos de Sockets
 
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo SilveiraServlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05
 
Sockets java
Sockets javaSockets java
Sockets java
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguro
 
Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores
 
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
 
Java 16 Jdbc
Java 16 JdbcJava 16 Jdbc
Java 16 Jdbc
 
RMI em Java
RMI em JavaRMI em Java
RMI em Java
 
Socket
SocketSocket
Socket
 
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
 
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
 
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored Procedure
 
Aula20 open vpn
Aula20 open vpnAula20 open vpn
Aula20 open vpn
 

Mais de Armando Daniel

Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filtersArmando Daniel
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)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)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) - exerciciosJava   orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exerciciosArmando Daniel
 
Java orientação a objetos (herança)
Java   orientação a objetos (herança)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 swingJava   interface gráfica swing
Java interface gráfica swingArmando Daniel
 

Mais de Armando Daniel (6)

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

Curso Java Socket Conexão Cliente Servidor

  • 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