Java recursos avançados - socket connection

armandodaniel777 1,195 views 10 slides Aug 28, 2013
Slide 1
Slide 1 of 10
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10

About This Presentation

No description available for this slideshow.


Slide Content

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> = <obj eto 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
Tags