Socket Unix – Exemplos de Servidor
Para fazer um processo de um servidor TCP, você precisa seguir os passos indicados abaixo
-
Criar um socket com o socket() chamada de sistema.
-
ligar o socket a um endereço usando a chamada do sistema bind (). Para um soquete de servidor na Internet, um endereço consiste de um número de porta na máquina anfitriã.
-
ouvir as ligações com a chamada do sistema listen ().
-
aceite uma ligação com a chamada de Sistema accept (). Esta chamada normalmente bloqueia até que um cliente se conecte com o servidor.
-
enviar e receber dados usando as chamadas do sistema read() E write ().
Agora vamos colocar estes passos na forma de código fonte. Coloque este código no servidor de arquivos.C and compile it with gcc compiler.
lidar com múltiplas conexões
para permitir que o servidor para lidar com múltiplas conexões simultâneas, fazemos as seguintes alterações no código acima –
-
colocar a declaração de aceitação e o seguinte código em um loop infinito.
-
Depois que uma conexão é estabelecida, Fork de chamada() para criar um novo processo.
-
o processo infantil irá fechar sockfd e chamar função de doprocessamento, passando o novo descritor de arquivo do socket como um argumento. Quando os dois processos terminam a sua conversa, como indicado pelo retorno do doprocessamento (), este processo simplesmente sai.
-
o processo pai fecha newsockfd. Como todo este código está em um loop infinito, ele retornará à instrução accept para esperar pela próxima conexão.
o seguinte código mostra uma simples implementação da função de doprocessamento.