Senhor
Mário Meireles Teixeira. UFMA-DEINF
Programação de Sockets
Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets
API de Sockets:
•
•
•
•
introduzida no UNIX BSD 4.1,
1981
explicitamente criados, usados e liberados pelas aplicações paradigma cliente/servidor dois tipos de serviço de transporte via sockets:
– datagrama não confiável
– confiável, orientado a cadeias de bytes (byte stream) socket
Uma interface local, criada e mantida pelas aplicações, controlada pelo SO, através da qual os processos de aplicação podem tanto enviar quanto receber mensagens de outro processo de aplicação, local ou remoto.
Programação de Sockets com TCP
Socket: uma porta entre o processo de aplicação e o protocolo de transporte fim-a-fim (UDP or TCP) serviço TCP: transferência confiável de bytes de um processo para outro controlado pelo criador da aplicação controlado pelo sistema operacional
processo
processo
socket
TCP com buffers, variáveis
socket
TCP com buffers, variáveis
internet
controlado pelo criador da aplicação controlado pelo sistema operacional
host ou servidor host ou servidor Programação de Sockets com TCP
Cliente deve contactar o servidor
• processo servidor já deve estar executando antes de ser contactado • servidor deve ter criado socket
(porta) que aceita o contato do cliente Cliente contacta o servidor:
• criando um socket TCP local
• especificando endereço IP e número da porta do processo servidor •
Quando o cliente cria o socket: cliente TCP estabelece conexão com o servidor
•
Quando contactado pelo cliente, o servidor cria um novo socket para comunicar-se com o cliente
– permite que o servidor converse com múltiplos clientes
ponto de vista da aplicação
TCP fornece uma transferência confiável, em ordem de bytes
(“pipe”), entre o cliente e o servidor Sockets TCP
Servidor