Vous êtes sur la page 1sur 2

PpIware

Redes - Sabe o que so sockets de comunicao? (Parte I)


Redes - Sabe o que so sockets de comunicao? (Parte I)
2012-06-12 09:15:04
A interoperabiIidade de sistemas um requisito fundamentaI no mundo tecnoIgico!
Quem gosta de tecnologia, certamente j se questionou como determinados sistemas funcionam e
comunicam. Hoje em dia, graas a adopo, como strandard, do protocolo IP, os dispositivos conseguem
facilmente "comunicar" entre eles de uma forma totalmente transparente para o utilizador.
Mas como que uma aplicao cliente consegue, por exemplo, comunicar com uma aplicao servidor e
vice-versa?
Actualmente existem algumas tecnologias que permitem a comunicao entre mquinas. Uma das
tecnologias/mecanismos mais comuns para comunicao entre mquinas os sockets. Socket um
mecanismo de comunicao, usado normalmente para implementar um modelo cliente/servidor, que
permite a troca de mensagens entre os processos de uma mquina/aplicao servidor e de uma
mquina/aplicao cliente.
Como funciona o mecanismos de sockets?
Imagine por exemplo que precisa de desenvolver uma aplicao servidor que funcione como uma "sala"
de chat. Na prtica essa aplicao ir receber ligaes dos clientes (num determinado porto) e
posteriormente, se um cliente enviar uma mensagem, o servidor envia essa mensagem para todos os
outros clientes.
Ou imagine por exemplo que tem instalado um sensor de temperatura numa mquina e uma aplicao
Page 2
PpIware
Redes - Sabe o que so sockets de comunicao? (Parte I)
aplicao servidor que controla esse sensor, dando informaes sobre o estado do tempo. A aplicao
cliente, poder ligar-se remotamente aplicao servidor e obter tambm essa informao..tudo isto
possvel de desenvolver usando sockets,
De uma forma geral, existe uma aplicao que cria um socket servidor e uma outra aplicao que
implementa um cliente. Existem principalmente dois tipos de sockets: Socket_Stream (aka TCP) ou
SOCK_DGRAM (aka UDP). Os sockets TCP garantem fiabilidade na comunicao (garantia da entrega
de pacotes), enquanto os sockets UDP no do garantia na entrega de pacotes a nvel da camada de
transporte). Para saber mais sobre os protocolos de transporte TCP e UDP, aconselhamos a lerem o
nosso artigo Protocolo TCP vs Protocolo UDP. Depois de estabelecida a ligao entre
aplicaes/processos, a aplicao cliente passa a poder enviar mensagens para a aplicao servidor (que
pode tambm funcionar como socket cliente) via socket.
Sockets TCP
Sockets, so uma abstraco para endereos de comunicao atravs dos quais processos comunicam.
Cada endereo tem um identificador nico composto pelo endereo da mquina e o identificador local da
porta usado pelo processo. Este identificador de porta usado para mapear dados recebido pela mquina
para processos (aplicaes) especficos. O processo de comunicao no modo orientado ligao ocorre
da seguinte forma: o servidor colocado num determinado porto e aguarda por ligaes a essa porta. O
cliente deve saber previamente qual o nome ou IP do servidor e o respectivo porto onde o servidor foi
colocado espera de ligaes. Ento o cliente solicita uma ligao ao host (servidor)/porto conforme
demonstra a figura seguinte.
Se nenhum problema ocorrer, o servidor aceita a ligao gerando um socket num porto vago do Iado
do servidor, criando assim um canal de comunicao entre o cliente e o servidor. De referir que o porto
original fica livre para poder receber outros pedidos de ligao. A figura seguinte demonstra esse mesmo
canal de comunicao.
Tipicamente o comportamento do servidor ficar em loop, aguardando novas ligaes e "gerando"
sockets para atender as solicitaes de clientes. para saberem mais sobre este assunto, aconselhamos a
lerem o nosso artigo sobre Como que o meu MSN comunica com o teu?
Num prximo artigo iremos mostrar, passo a passo, como feita a comunicao entre
aplicaes/processos, usando sockets TCP.
Page 2

Vous aimerez peut-être aussi