Cliente em C via UDP
Publicado por Rafael 20/06/2007
[ Hits: 13.345 ]
Homepage: nenhum
Um cliente C que utiliza o protocolo UDP, recebe e envia mensagens...
Eu já encontrei alguns do tipo na internet, mas nunca que realize as duas coisas ao mesmo tempo e que seja explicativo.
Logo este é um exemplo bem simples e comentado, sem nem sequer usar DNS.
Para compilar: gcc cliente.c -o C
#include <stdio.h> #include <sys/socket.h> #include <netdb.h> #include <string.h> void esvazia(char vetor[],int tam){ int i; for(i=0;i<tam;i++){ vetor[i]='{FONTE}'; } } int main(){ struct sockaddr_in servidor,cliente; int tam_cliente, meuSocket; char envia[576]; char recebe[576]; meuSocket=socket(PF_INET,SOCK_DGRAM,0); servidor.sin_family=AF_INET; // familia de endereços servidor.sin_port=htons(20000); // porta // para usar um ip qualquer use inet_addr("10.10.10.10"); ao invés de htonl(INADDR_ANY) servidor.sin_addr.s_addr=htonl(INADDR_ANY); esvazia(envia,576); esvazia(recebe,576); while(1){ printf("\n*** Bem vindo ao cliente ***\n"); printf("Escreva uma mensagem:\n"); fgets(envia,576,stdin); sendto(meuSocket,envia,strlen(envia),0,(struct sockaddr*)&servidor,sizeof(struct sockaddr_in)); tam_cliente=sizeof(struct sockaddr_in); recvfrom(meuSocket,recebe,576,MSG_WAITALL,(struct sockaddr*)&cliente,&tam_cliente); printf("Recebi:%s",recebe); esvazia(envia,576); esvazia(recebe,576); } close(meuSocket); }
Portscan Simples Usando Sockets em C
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Ubuntu 25.04 não instala. (18)
Linux mint não desliga corretamente mesmo mexendo no grub (0)