Tabela de conteúdos
Programação Cliente Servidor em Linux
Características para um sistema ser considerado cliente/servidor:
- Uma arquitetura cliente/servidor consiste em um processo de cliente e um processo de servidor, que podem ser distinguidos um do outro, embora possam interagir totalmente.
- A parte cliente e a parte servidor podem operar em diferentes plataformas de computador.
- Tanto a plataforma do cliente como a do servidor podem ser atualizadas sem que se tenha de necessariamente atualizar a outra plataforma.
- O servidor pode atender a vaŕios clientes simultaneamente. O cliente pode acessar vários servidores.
- Ambos incluem capacidade de operar em rede.
- A ação normalmente é iniciada no cliente.
A chave para entender o conceito de programação cliente/servidor, é o entendimento do relacionamento lógico entre a entidade que requisita o serviço (isto é, o cliente) para a outra entidade (o servidor), que provê os serviços requisitados.
Um cliente pode manter um relacionamento com diferentes servidores, que o atendam. Um servidor pode atender múltiplos clientes.
Um atributo do servidor é pode atender vários clientes. Uma forma é criar servidores escravos para atender aos clientes. Neste exemplo, para cada cliente tem-se um servidor dedicado (relação de 1 para 1).
Aspectos da Conexão
São dois os tipos de conexão utilizados em uma comunicação. Conexão orientada e conexão não orientada.
ConnectionLess
Na conexão do tipo connectionless (não orientado a conexão):
- Cada mensagem é independente.
- Não existe garantia de entrega (a mensagem procura o servidor).
- Mensagens de mesma origem podem chegar ao servidor por caminhos diferentes.
- A sequência de envio pode ser diferente da sequência de chegada.
Este tipo de comunicação também é chamada de comunicação por datagramas. O serviço postal é um exemplo na vida real para este tipo de comunicação, afinal é possível enviar uma carta sem que alguém a esteja esperado.
Connection-Oriented
O outro tipo de comunicação é conhecido como connection-oriented (orientado a conexão):
- O caminho entre as partes é previamente estabelecido e conhecido.
- Existe garantia de entrega.
- A sequência de envio e recepção é respeita.
- A cada envio do cliente, o servidor responde confirmando o recebimento.
Este tipo de comunicação é conhecido como datastream ou somente conexão stream. O serviço de telefonia é um exemplo na vida real para este modelo. Deve haver uma pessoa do outro lado para atender a chamada telefônica.
Funções do Linux
A programação para rede utiliza as seguintes funções:
E utiliza as seguintes estruturas:
Exemplos de Aplicação
— Marcos Laureano 2009/02/14 11:52