Anda di halaman 1dari 17

Java Standard Edition (JSE)

15. Sockets

Esp. Mrcio Palheta Gtalk: marcio.palheta@gmail.com


1

Agenda
Protocolo de comunicao; Porta de acesso; Socket; Servidor de transaes; Cliente; Exerccios;

A API e os conceitos
Neste captulo, estudaremos a API de Sockets do pacote java.net; Perceba que estamos colocando em prtica todos os conceitos a cerca bibliotecas e interfaces, que aprendemos nesse curso; Fica mais fcil avanar na API, uma vez que a base est slida;
3

Protocolos
A fim de garantir a comunicao entre estaes remotamente dispostas, definiu-se conjuntos de regras, ditos Protocolos; O protocolo que usaremos o Transmission Control Protocol TCP; Como o TCP, podemos estabelecer um fluxo de dados entre estaes distintas;
4

Fluxo de dados TCP

Sobre a conexo
Podemos conectar mais de um cliente a um servidor; Os clientes podem trocar mensagens usando o servidor; Para trabalhar com comunicao de dados, o java oferece as classes do pacote java.net; O TCP vai garantir a entrega dos nossos pacotes de dados;
6

Porta de acesso
comum que vrias aplicaes locais troquem dados com outras do Servidor; Mas temos apenas uma conexo fsica; Assim como h IP para identificar CPU, a porta a soluo para acesso a aplicaes de uma mquina; A porta varia de 0 a 65535. S possvel conexo se uma porta estiver liberada; 7

Socket
Digamos que um cliente se conecta a um programa rodando na porta 80(http); Precisamos esperar que ele desconecte para conectarmos outro cliente? Aps aceitar a conexo, o servidor redireciona o cliente para outra porta; Dessa forma, a porta 80 fica liberada, aguardando outra conexo; Em java, usamos threads para a troca;
8

Aplicao servidora
Aceita conexo e dados de aplicaes clientes; O servidor deve abrir uma porta e ficar escutando por uma conexo cliente; Aps a conexo, o servidor aceita dados (Streams) enviados pelo cliente; Por fim, necessrio fechar as conexes;
9

Exerccio 01 Servidor.java

10

Exerccio 02 Cliente.java

11

Consideraes
O que aconteceu nos exerccios anteriores? Foram criados um Servidor e um Cliente O cliente envia objetos String para o servidor; O servidor interpreta(imprime) os objetos recebidos; A classe String implementa a interface Serializable;
12

Exerccio 03
Crie a classe Mensagem.java

13

Exerccio 04
Atualize o cdigo das classes Cliente e Servidor, para implementar a troca de objetos Mensagem, ao invs de objetos String;

14

Bibliografia
Java - Como programar, de Harvey M. Deitel Use a cabea! - Java, de Bert Bates e Kathy Sierra (Avanado) Effective Java Programming Language Guide, de Josh Bloch
15

Referncias WEB
SUN: www.java.sun.com Threads: http://download.oracle.com/javase/tutorial /essential/concurrency/ Fruns e listas: Javaranch: www.javaranch.com GUJ: www.guj.com.br Apostilas: Argonavis: www.argonavis.com.br Caelum: www.caelum.com.br
16

Java Standard Edition (JSE)


15. Sockets

Esp. Mrcio Palheta Gtalk: marcio.palheta@gmail.com


17

Anda mungkin juga menyukai