Java recursos avançados - socket connection

909 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
909
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java recursos avançados - socket connection

  1. 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  2. 2. Recursos Avançados
  3. 3. Socket Connection
  4. 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. 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. 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. 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. 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. 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. 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

×