listen
no way to compare when less than two revisions
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
— | listen [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Função listen ====== | ||
+ | Sintaxe: | ||
+ | |||
+ | '' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | Após o socket (função [[socket]]) ter sido criada e uma porta associada (função [[bind]]) é necessário habilitar o socket para receber as conexões. A função **listen** faz justamente este papel ou seja, habilita que o programa servidor receba conexões de um programa cliente. Deve-se passar o descritor do [[socket]] aberto e a quantidade de conexões que podem ficar pendentes até que o programa trate todas as conexões anteriores. A função retorna 0 (zero) em caso de sucesso e –1 em caso de erro. | ||
+ | |||
+ | Veja o exemplo: | ||
+ | |||
+ | <code c> | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | int iSock; | ||
+ | | ||
+ | |||
+ | iSock = socket(AF_INET, | ||
+ | if( iSock == -1) | ||
+ | { | ||
+ | perror(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | if( bind(iSock, (struct sockaddr *)& | ||
+ | { | ||
+ | perror(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | if( listen( iSock, 10 ) < 0) | ||
+ | { | ||
+ | perror(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | --- // | ||
listen.txt · Última modificação: 2023/09/12 16:14 por 127.0.0.1