diff options
Diffstat (limited to 'Semestr 4/sieci/pracownia2/udp_client.c')
-rwxr-xr-x | Semestr 4/sieci/pracownia2/udp_client.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Semestr 4/sieci/pracownia2/udp_client.c b/Semestr 4/sieci/pracownia2/udp_client.c new file mode 100755 index 0000000..5624484 --- /dev/null +++ b/Semestr 4/sieci/pracownia2/udp_client.c @@ -0,0 +1,33 @@ +#include <netinet/ip.h> +#include <arpa/inet.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <errno.h> + +int main() +{ + int sockfd = socket(AF_INET, SOCK_DGRAM, 0); + if (sockfd < 0) { + fprintf(stderr, "socket error: %s\n", strerror(errno)); + return EXIT_FAILURE; + } + + struct sockaddr_in server_address; + bzero (&server_address, sizeof(server_address)); + server_address.sin_family = AF_INET; + server_address.sin_port = htons(54321); + inet_pton(AF_INET, "192.168.1.2", &server_address.sin_addr); + + char* message = "Hello server!"; + ssize_t message_len = strlen(message); + if (sendto(sockfd, message, message_len, 0, (struct sockaddr*) &server_address, sizeof(server_address)) != message_len) { + fprintf(stderr, "sendto error: %s\n", strerror(errno)); + return EXIT_FAILURE; + } + + close (sockfd); + return EXIT_SUCCESS; +} + |