/* * Simple UDP sender * usage: client host message * (c)2013 JBY */ #include <sys/socket.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <netdb.h> #include <strings.h> #define PORT 5678 int main(int argc,char *argv[]) { struct sockaddr_in addr; int sock; char tampon[256]; struct hostent *hent; if (argc<3) { fprintf(stderr,"usage: %s host message\n",argv[0]); exit(1); } hent = gethostbyname(argv[1]); if (hent==NULL) { fprintf(stderr,"%s: host %s unknown\n",argv[0],argv[1]); exit(1); } sock = socket(PF_INET,SOCK_DGRAM,0); // Protocol family if (sock==-1) { perror("socket: "); exit(1); } addr.sin_family = AF_INET; // Address family addr.sin_port = htons(PORT); memcpy(&(addr.sin_addr.s_addr),hent->h_addr_list[0],hent->h_length); strcpy(tampon,argv[2]); if (sendto(sock,tampon,256,0,(struct sockaddr *)(&addr),sizeof(addr))==-1) { perror("sendto:"); close(sock); exit(1); } close(sock); return 0; }