diff options
Diffstat (limited to 'demo/nginx_proxy/demo-2/udpclient.c')
-rw-r--r-- | demo/nginx_proxy/demo-2/udpclient.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/demo/nginx_proxy/demo-2/udpclient.c b/demo/nginx_proxy/demo-2/udpclient.c new file mode 100644 index 0000000..3aca2df --- /dev/null +++ b/demo/nginx_proxy/demo-2/udpclient.c @@ -0,0 +1,49 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <arpa/inet.h> +#include <netinet/in.h> + +#define PORT 53 +#define MAXLINE 1024 + +// Driver code +int main() +{ + int sockfd; + char buffer[MAXLINE]; + char *hello = "Hello from client"; + struct sockaddr_in servaddr; + + // Creating socket file descriptor + if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) + { + perror("socket creation failed"); + exit(EXIT_FAILURE); + } + + memset(&servaddr, 0, sizeof(servaddr)); + + // Filling server information + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(PORT); + servaddr.sin_addr.s_addr = inet_addr("192.168.50.20"); + + int n, len; + + sendto(sockfd, (const char *) hello, strlen(hello), + MSG_CONFIRM, (const struct sockaddr *) &servaddr, + sizeof(servaddr)); + printf("Hello message sent.\n"); + + n = recvfrom(sockfd, (char *) buffer, MAXLINE, + MSG_WAITALL, (struct sockaddr *) &servaddr, &len); + buffer[n] = '\0'; + printf("Server : %s\n", buffer); + + close(sockfd); + return 0; +} |