Java recursos avançados - socket connection
Click here to load reader
-
Upload
armando-daniel -
Category
Documents
-
view
420 -
download
1
Transcript of Java recursos avançados - socket connection
![Page 1: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/1.jpg)
Curso de Java
by Antonio Rodrigues Carvalho Neto
![Page 2: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/2.jpg)
Recursos Avançados
![Page 3: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/3.jpg)
Socket Connection
![Page 4: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/4.jpg)
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
![Page 5: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/5.jpg)
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();
![Page 6: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/6.jpg)
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();
![Page 7: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/7.jpg)
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);
![Page 8: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/8.jpg)
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();
![Page 9: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/9.jpg)
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.
![Page 10: Java recursos avançados - socket connection](https://reader038.fdocumentos.com/reader038/viewer/2022100517/55649e7dd8b42afd4f8b4e98/html5/thumbnails/10.jpg)
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