Cliente em C via UDP
Publicado por Rafael 20/06/2007
[ Hits: 13.370 ]
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); }
Exemplo de sockets: um client e um server bem simples
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (3)
O 1º artigo a gente nunca esquece (3)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (9)