Mercurial > hg > beaglert
view resources/network/udp-client.c @ 521:545087a05bc8 prerelease
added pd getting-started patch
author | chnrx <chris.heinrichs@gmail.com> |
---|---|
date | Thu, 23 Jun 2016 00:15:51 +0100 |
parents | adcb57fd3d75 |
children |
line wrap: on
line source
/* UDP client in the internet domain */ #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> void error(const char *); int main(int argc, char *argv[]) { int sock, n; unsigned int length; struct sockaddr_in server, from; struct hostent *hp; char buffer[256]; if (argc != 3) { printf("Usage: server port\n"); exit(1); } server.sin_family = AF_INET; hp = gethostbyname(argv[1]); if (hp==0) error("Unknown host"); bcopy((char *)hp->h_addr, (char *)&server.sin_addr, hp->h_length); server.sin_port = htons(atoi(argv[2])); length=sizeof(struct sockaddr_in); while (1){ sock= socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0) error("socket"); bzero(buffer,256); printf("Please enter the message: "); fgets(buffer,255,stdin); n=sendto(sock,buffer, strlen(buffer),0,(const struct sockaddr *)&server,length); if (n < 0) error("Sendto"); } close(sock); return 0; } void error(const char *msg) { perror(msg); exit(0); }