Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tema:
Comunicao Via Socket
Trabalho de Sistemas Operativos II
Turno: Manh
Sala:U-106
Grupo 8
Prof: Paulo Julio
Integrantes do Grupo
Introduo
Os sockets so compostos por um conjunto de primitivas do sistema operacional e foram
originalmente desenvolvidos para o BSD Unix.
Como vimos no exemplo, um socket servidor precisa definir o nmero da porta para
receber conexes dos clientes. Este nmero pode variar entre 0 e 65535, porm, em nossas
aplicaes s devemos utilizar de 1024 em diante, pois as portas com nmeros abaixo
deste so reservados para o uso do sistema (por exemplo a porta 80 usada pelo protocolo
HTTP, 25 pelo SMTP, 110 pelo POP3, entre vrios outros servios).
Exemplo:
Os Sockets esta dividido por: Sockets UDP e Sockets TCP.
Sockets UDP
Sockets TCP
Objectivos
Objectivos Gerais:
Entender em detalhe o funcionamento e configurao de uma API java
para comunicao socket/porta pr-definida.
Objectivos Especficos:
Instalar o editor eclipse no computador;
Importarmos o projecto cliente, que contm cdigo JAVA para a funo
do cliente e do servidor;
Analisar trfego em sistemas informticos distribudos, atravs da
mquina real e de mquinas diferente;
Adquirir conhecimentos sobre a captura de envio, atravs da anlise de
pacotes (sniff).
Servidor
Servidor um software ou
computador, com sistema
de computao centralizada que
fornece servios a uma rede de
computador, chamada de cliente
Cliente-Servidor
Snippets
Prtica
Enviando um ficheiro de texto para mesma mquina:
Criamos uma pasta na partio C: com nome de teste_send
Executando o Server
Executando o Client
Notamos que o ficheiro foi enviado com sucesso e possui nove caracteres
Class Client
//Pacote ou class que permite escrever ficheiro fonte
import java.io.OutputStream;
OutputStream out = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(out);
BufferedWriter writer = new BufferedWriter(osw);
//Instancia File que tem como argumento a localizao do Stream e
variavel
File f = new File("C:/teste_send/"+fName);
// instancia Socket para comunicar com o servidor
Socket socket = new Socket("192.168.137.185", 5500);
Class servidor
//Pacote ou class que permite ler ficheiro fonte
import java.io.InputStream;
InputStream in = clSocket.getInputStream();
InputStreamReader isr = new
InputStreamReader(in);
BufferedReader reader = new BufferedReader(isr);
//Escrita e gravao dos caracteres no destino
out.write(buffer, 0, lidos);
out.flush();
Concluso
Desenvolver aplicaes que se comunicam em rede local ou internet
hoje uma necessidade crescente. Neste artigo aprendemos a desenvolver
este tipo de aplicao usando Java e sockets. Os sockets em Java
representam um recurso poderoso para desenvolvimento de aplicaes
que podem comunicar-se via rede. Apesar de existirem frameworks que
facilitam o desenvolvimento de aplicaes em rede com Java
importante ao leitor entender o fundamento da comunicao com sockets
que a base para toda e qualquer aplicao que utiliza comunicao em
rede.