Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
pua:cliente_unix [2008/08/14 00:33] – created maziero | pua:cliente_unix [2014/03/27 12:29] (atual) – maziero | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Exemplo UNIX: cliente ====== | ||
+ | Este cliente se conecta ao servidor através de um socket '' | ||
+ | |||
+ | <code c unix-client.c> | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #define BUFSIZE 256 | ||
+ | |||
+ | int main (int argc, char *argv[]) | ||
+ | { | ||
+ | int sock, numbytes; | ||
+ | | ||
+ | char *pedido ; | ||
+ | char resposta[BUFSIZE]; | ||
+ | |||
+ | /* cria um socket TCP */ | ||
+ | sock = socket(AF_LOCAL, | ||
+ | if ( sock < 0 ) | ||
+ | { | ||
+ | perror(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | /* inicializa a estrutura com endereço/ | ||
+ | bzero (& | ||
+ | server.sun_family = AF_LOCAL; | ||
+ | strcpy (server.sun_path, | ||
+ | | ||
+ | /* conecta ao servidor */ | ||
+ | if ( connect(sock, | ||
+ | { | ||
+ | perror(" | ||
+ | exit(1); | ||
+ | } | ||
+ | | ||
+ | /* envia comando HTTP ao servidor */ | ||
+ | pedido = "GET / HTTP/ | ||
+ | write (sock, pedido, strlen (pedido)) ; | ||
+ | | ||
+ | /* lê resposta enviada pelo servidor */ | ||
+ | numbytes = read (sock, & | ||
+ | write (STDOUT_FILENO, | ||
+ | |||
+ | /* encerra a conexão */ | ||
+ | | ||
+ | |||
+ | | ||
+ | } | ||
+ | </ |