armandodaniel777
1,195 views
10 slides
Aug 28, 2013
Slide 1 of 10
1
2
3
4
5
6
7
8
9
10
About This Presentation
No description available for this slideshow.
Size: 68.74 KB
Language: pt
Added: Aug 28, 2013
Slides: 10 pages
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