From 726481cc8f9a9901a54d3dc75c0f2780f2616859 Mon Sep 17 00:00:00 2001 From: Arthur-Coppey Date: Mon, 18 Oct 2021 13:53:21 +0200 Subject: [PATCH] working udp client --- client/client.c | 9 +++++++-- client/client.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/client/client.c b/client/client.c index a7688ea..0eabfe6 100644 --- a/client/client.c +++ b/client/client.c @@ -4,6 +4,8 @@ #include "client.h" +extern int errno; + int tcp() { struct sockaddr_in server; int sock; @@ -50,6 +52,7 @@ int tcp() { int udp() { struct sockaddr_in server; int sock; + unsigned long addressLength = sizeof server; int proto = IPPROTO_UDP; enum __socket_type socketType = SOCK_DGRAM; @@ -66,15 +69,17 @@ int udp() { puts("socket created"); char *payload = "I dream of sushi"; - if (sendto(sock, payload, strlen(payload), 0, (const struct sockaddr *) &server, sizeof server) < 0) { + if (sendto(sock, payload, strlen(payload), 0, (const struct sockaddr *) &server, addressLength) < 0) { puts("error while sending payload"); + perror("sendto"); return 3; } puts("payload sent"); char response[2048]; - if (recvfrom(sock, response, 2048, 0, (struct sockaddr *) &server, (socklen_t *) sizeof server) < 0) { + if (recvfrom(sock, response, 2048, 0, (struct sockaddr *) &server, (socklen_t *) &addressLength) < 0) { puts("receive failed"); + perror("recvfrom"); return 4; } printf("server response : %s\n", response); diff --git a/client/client.h b/client/client.h index 1be53eb..17bb0cd 100644 --- a/client/client.h +++ b/client/client.h @@ -11,6 +11,7 @@ #include #include #include +#include int tcp();