Cliente em C via UDP
Publicado por Rafael 20/06/2007
[ Hits: 13.575 ]
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 Básico de Sockets em C
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
Problema ao instalar Linux Mint. (1)
Midia de instalação LM-21.3 não inicializa (11)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (9)









