bacharel
• bibliotecas
• bibliotecas+ferramentas
• linguagens de programação distribuídas
• flexibilidade de programação
• disponibilidade da ferramenta
• facilidade de desenvolvimento e reuso
Socket
Socket
UNIX
System V (AT&T)
• Uso de uma linguagem de programação tradicional com chamadas a uma biblioteca de programação distribuída.
• Exemplos:
– soquetes (originalmente Unix): programação baseada no modelo cliente-servidor;
– pvm, p4, Express >> mpi: programação baseada na comunicação entre processos pares.
• Dados são transmitidos através de streams de bytes ou buffers - interpretação correta fica por conta do programa.
Socket
• Forma de Comunicação entre Processos disponível no UNIX BSD
BSD (Berkeley)
Bibliotecas
TLI (Transport Layer Interface)
• Usado para um processo comunicar-se com outro que esteja em uma máquina qualquer
• Idéia similar a de descritor de arquivos
• O Socket é identificado por um inteiro chamado descritor do socket descritor_do_socket = socket()
• Socket:
– Espera uma conexão
Inicia uma conexão
• Socket Passivo: espera por uma conexão (usado por Servidores)
• Socket Ativo: Inicia uma conexão (usado pelos
Clientes)
• Complexidade do Socket: parâmetros que o programador pode setar
TCP/IP
Socket
• Exemplo de alguns parâmetros:
– Transferência de:
• stream (TCP)
• datagrama (UDP)
– endereço remoto:
• específico (geralmente usado pelo cliente)
• inespecífico (geralmente usado pelo servidor)
Chamadas usadas no Socket
• Protocolo de Comunicação
• Não estabelece como o Sistema Operacional
(SO) vai se comunicar com ele.
• A interface do SO é responsável pela comunicação com o TCP/IP
• O UNIX faz isso usando socket.
• TCP/IP estabelece uma abstração chamada
Porta.
Exemplo do Uso de Socket
SERVIDOR
•
•
•
•
•
•
•
•
socket( ) -> cria um socket usado para comunicação e retorna um descritor connect( ) -> depois de criar um