Socket é um mecanismo de comunicação entre processos em máquinas diferentes, permitindo troca de mensagens. Surge no Unix BSD nos anos 70-80. Existem sockets TCP e UDP, com TCP fornecendo garantia na entrega e UDP sendo mais simples. Sockets permitem comunicação entre clientes e servidores.
2. O que é Socket?
0 Socket é um mecanismo
de comunicação, usado
normalmente
para
executar
um
modelo
cliente/servidor, que permite a troca de mensagens
entre os processos de uma máquina/aplicação
servidor e de uma máquina/aplicação cliente.
3. Como surgiram?
0 Os
sockets surgiram originalmente no sistema
operativo Unix BSD
(Berkeley Software
Distribution)
0 O BSD
(Berkeley Software Distribution) é
um Sistema Operativo do UNIX desenvolvido
pela Universidade de Berkeley, na Califórnia, durante
os anos 70 e 80.
4. Quais os tipos de sockets?
0 TCP
Significa "Protocolo de
controle de transmissão"
sendo um dos principais
protocolos de envio e
recebimento de dados MS
internet
O TCP é o protocolo mais
usado isto porque fornece
garantia na entrega de todos
os pacotes entre um PC
emissor e um PC receptor.
0 UDP
UDP é um protocolo de
comunicação que oferece
uma quantidade limitada
de serviço quando as
mensagens são trocadas
entre computadores em
uma rede que usa IP
UDP é um protocolo mais
simples e por si só não
fornece garantia na
entrega dos pacotes.
7. Qual a sua utilidade?
0 Socket é usado para um processo para comunicar-se
com um outro que esteja numa máquina qualquer.
0 Um socket pode ser gerado como um portão de
entrada e de saída de cada processo, podendo enviar
e/ou receber mensagens através de seus sockets.
8. 0 Devido ao fato que, usualmente, os protocolos de
transporte da rede são implementados e controlados
pelo sistema operacional, um socket também pode ser
concebido como uma interface entre a aplicação e o
substrato de comunicação do sistema operacional.
9. Chamadas usadas no Socket
0 Socket ( ) cria um socket usado para comunicação
e retorna um descritor
0 Write ( ) para enviar dados através de uma
conexão TCP
0 Read ( ) para receber dados através de uma
conexão TCP
0 Close ( ) para deslocar o socket
10. Funções usadas no Socket
0 Bind ( ) usado para servidores para especificar
uma porta na qual ele irá esperar conexões
0 Listen ( ) servidores chama, o listen para colocar
o socket do modo passivo e torná-lo disponivel para
aceitar conexões
11. 0 Connect ( ) depois de criar um socket, um cliente
chama connect para estabelecer uma conexão com um
servidor, usando o descritor do socket
O indicador que identifica uma
tomada conectada.
Um apontador para a memória intermédia
para receber os dados de entrada.
O comprimento, em bytes, do buffer
apontado pelo buf parâmetro.
Um conjunto de sinalizadores que influenciam o comportamento desta
função.
12. 0 Accept ( ) depois de um sevidor chamar o socket para
criar um socket, bind para especificar o seu endereço e
listen para colocá-lo no modo passivo, ele deve chamar o
accept para pegar a primeira solicitação de conexão na fila.
Um ponteiro opcional para um
buffer, que recebe o endereço da
entidade de ligação, tal como é
conhecida para a camada de
comunicações
Um ponteiro opcional para um inteiro que contém o comprimento
da estrutura apontada pelo addr parâmetro.
14. Socket e conexão via TCP/IP
0 Servidor fica à espera de ligações
0 Cliente
conexão
liga-se ao servidor, sendo estabelecida
0 Conexão é um canal fiável para comunicação
bidireccional (funciona em duas direções em comum
e opostas)
0 Um socket representa um extremo de uma conexão
0 Uma conexão é caracterizada por um socket -pair