From 817a3b2422c7966fc0ae47ba7ebfbd086792471c Mon Sep 17 00:00:00 2001 From: iceyrazor Date: Fri, 25 Sep 2026 21:33:11 -0500 Subject: init --- src/client.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100755 src/client.c (limited to 'src/client.c') diff --git a/src/client.c b/src/client.c new file mode 100755 index 0000000..4f68d89 --- /dev/null +++ b/src/client.c @@ -0,0 +1,84 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include "launch-socket.c" +#include "iceys-utils.c" + +#define SA(ptr) ((struct sockaddr *)(ptr)) + +void *recv_data_c(void *arg) { + int socketfd = *(int *)arg; + while(1){ + char buffer[30000]={0}; + recv(socketfd, buffer, 30000, 0); + printf("%s\n ",buffer); + } +} + +int main(int argc, char *argv[]){ + if (argc<2){ + fprintf(stderr, "arg1 must be set for port\n"); + exit(-1); + } + int port = atoi(argv[1]); + if (port == 0) { + fprintf(stderr, "port must not be 0\n"); + exit(-1); + } + + int socketfd = socket(AF_INET, SOCK_STREAM, 0); + + struct sockaddr_in address = {0}; + address.sin_family = AF_INET; + address.sin_port = htons(port); + address.sin_addr.s_addr = inet_addr("127.0.0.1"); + + + int con_err=connect(socketfd, SA(&address), sizeof(address)); + if (con_err<0){ + printf("connect error %d\n",con_err); + perror("socketfd error"); + exit(-1); + } + + char *name = NULL; + size_t nameSize = 0; + printf("please enter your name\n"); + ssize_t nameCount = getline(&name, &nameSize, stdin); + name[nameCount-1]=0; //gets rid of newline + + + char *line = NULL; + size_t lineSize = 0; + + pthread_t id; + pthread_create(&id, NULL, recv_data_c, &socketfd); + + + char send_buf[30000]; + + while(1){ + ssize_t charCount = getline(&line, &lineSize, stdin); + line[charCount-1]=0; //gets rid of newline + sprintf(send_buf, "%s:%s", name, line); + + if(charCount>0){ + if(strcmp(line,"exit")==0){ + break; + } else { + send(socketfd, send_buf, strlen(send_buf), 0); + } + } + } + + + close(socketfd); + + + return 0; +} -- cgit v1.3