Java recursos avançados - socket connection
Click here to load reader
-
Upload
armando-daniel -
Category
Documents
-
view
421 -
download
1
Transcript of Java recursos avançados - socket connection
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 Server1. Iniciar um servidor para escutar conexões em uma
porta específicaSintaxe:ServerSocket <objeto server> = new ServerSocket( <numero da porta>);
Exemplo:ServerSocket server = new ServerSocket(15678);
2. Aguardar a conexão de um cliente nesta portaSintaxe: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
LerInputStream in = con.getInputStream();
int key = 0 ;while (key != 27) {
key = in.read();System.out.println(
(char) key);}
EscreverOutputStream 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ãoout.close();con.close();
Client
� Etapas para criar um Socket Client1. 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
LerInputStream in = con.getInputStream();
int key = 0 ;while (key != 27) {
key = in.read();System.out.println(
(char) key);}
EscreverOutputStream 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ãoout.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çãoCapítulo 24
pags. 836 a 847
� Use a cabeça Java 2ª ediçãoCapitulo 15
pags. 329 a 341
� Caelum Java e Orientação a ObjetosCapitulo 19
pags. 220 a 227