From de87258b4f18965f5e586bb816950ab58293063f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 21 Aug 2019 16:47:21 +0200 Subject: [PATCH] Userland: Remove immature "tc" and "uc" programs in favor of "nc" The netcat-lite "nc" utility is where we should put all of the various "lightweight" TCP/UDP client features. --- Userland/tc.cpp | 90 ------------------------------------------------- Userland/uc.cpp | 61 --------------------------------- 2 files changed, 151 deletions(-) delete mode 100644 Userland/tc.cpp delete mode 100644 Userland/uc.cpp diff --git a/Userland/tc.cpp b/Userland/tc.cpp deleted file mode 100644 index 857d861e65..0000000000 --- a/Userland/tc.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char** argv) -{ - const char* addr_str = "127.0.0.1"; - if (argc > 1) - addr_str = argv[1]; - - int fd = socket(AF_INET, SOCK_STREAM, 0); - if (fd < 0) { - perror("socket"); - return 1; - } - - struct timeval timeout { - 3, 0 - }; - int rc = setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)); - if (rc < 0) { - perror("setsockopt"); - return 1; - } - rc = setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout)); - if (rc < 0) { - perror("setsockopt"); - return 1; - } - - struct sockaddr_in dst_addr; - memset(&dst_addr, 0, sizeof(dst_addr)); - - dst_addr.sin_family = AF_INET; - dst_addr.sin_port = htons(80); - rc = inet_pton(AF_INET, addr_str, &dst_addr.sin_addr); - if (rc <= 0) { - perror("inet_pton"); - return 1; - } - - printf("Connecting to %s...", addr_str); - fflush(stdout); - rc = connect(fd, (struct sockaddr*)&dst_addr, sizeof(dst_addr)); - if (rc < 0) { - perror("connect"); - return 1; - } - printf("ok!\n"); - - char buffer[BUFSIZ]; - const char* msg = "GET / HTTP/1.0\r\n\r\n"; - - printf("Sending a greeting..."); - rc = send(fd, (const char*)msg, strlen(msg), 0); - if (rc < 0) { - perror("send"); - return 1; - } - printf("ok!\n"); - - printf("Waiting for response..."); - size_t total_recv = 0; - for (;;) { - ssize_t nrecv = recv(fd, buffer, sizeof(buffer), 0); - if (nrecv < 0) { - perror("recvfrom"); - return 1; - } - if (nrecv == 0) - break; - total_recv += nrecv; - buffer[nrecv] = '\0'; - printf("\033[36;1m%s\033[0m", buffer); - } - - printf("(%zu bytes received)\n", total_recv); - rc = close(fd); - if (rc < 0) { - perror("close"); - return 1; - } - return 0; -} diff --git a/Userland/uc.cpp b/Userland/uc.cpp deleted file mode 100644 index 5fe908ee54..0000000000 --- a/Userland/uc.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char** argv) -{ - const char* addr_str = "127.0.0.1"; - if (argc > 1) - addr_str = argv[1]; - - int fd = socket(AF_INET, SOCK_DGRAM, 0); - if (fd < 0) { - perror("socket"); - return 1; - } - - struct timeval timeout { - 5, 0 - }; - int rc = setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)); - if (rc < 0) { - perror("setsockopt"); - return 1; - } - - struct sockaddr_in dst_addr; - memset(&dst_addr, 0, sizeof(dst_addr)); - - dst_addr.sin_family = AF_INET; - dst_addr.sin_port = htons(8080); - rc = inet_pton(AF_INET, addr_str, &dst_addr.sin_addr); - if (rc <= 0) { - perror("inet_pton"); - return 1; - } - - char buffer[BUFSIZ]; - const char* msg = "Test message"; - - sendto(fd, (const char*)msg, strlen(msg), 0, (const struct sockaddr*)&dst_addr, sizeof(dst_addr)); - printf("Message sent.\n"); - - struct sockaddr_in src_addr; - socklen_t src_addr_len = sizeof(src_addr); - ssize_t nrecv = recvfrom(fd, (char*)buffer, sizeof(buffer), 0, (struct sockaddr*)&src_addr, &src_addr_len); - if (nrecv < 0) { - perror("recvfrom"); - return 1; - } - buffer[nrecv] = '\0'; - printf("Server: %s\n", buffer); - - close(fd); - return 0; -}