From 3521cc6e1a87f16c8db5c3c5a0c3cf59e1ff04cb Mon Sep 17 00:00:00 2001 From: iceyrazor Date: Mon, 5 Oct 2026 00:39:06 -0500 Subject: removed old launch-socket --- launch-socket-old.c | 192 ---------------------------------------------------- 1 file changed, 192 deletions(-) delete mode 100755 launch-socket-old.c diff --git a/launch-socket-old.c b/launch-socket-old.c deleted file mode 100755 index 19fa1d7..0000000 --- a/launch-socket-old.c +++ /dev/null @@ -1,192 +0,0 @@ -#include -#include -#include -#include -#include -#include "Server.c" -#include "Server.h" -#include -#include -#include - -struct AcceptedSocket* acceptIncoming(struct Server *server){ - int serverSocketFd=server->socket; - - struct sockaddr_in clientAddress; - int ClientAddressSize = sizeof(struct sockaddr); - int clientSocketFD = accept(serverSocketFd,(struct sockaddr *)&clientAddress,&ClientAddressSize); - - if(server->running){ - struct AcceptedSocket* acceptedSocket = malloc(sizeof(struct AcceptedSocket)); - acceptedSocket->address=clientAddress; - acceptedSocket->socketFD=clientSocketFD; - acceptedSocket->succ=clientSocketFD>0; - acceptedSocket->next=NULL; - acceptedSocket->shutdown=false; - - if(!acceptedSocket){ - acceptedSocket->error=clientSocketFD; - } else { - if(server->running){ - struct AcceptedSocket *sel_socket=server->accepted_socket; - - if(sel_socket==NULL){ - server->accepted_socket=acceptedSocket; - } else { - while(1){ - if(sel_socket->next==NULL){ - sel_socket->next=acceptedSocket; - break; - } else { - sel_socket=sel_socket->next; - } - } - } - } - } - return acceptedSocket; - } else { - return NULL; - } -} - -struct recv_data_arg{ - int socketFD; - struct Server *server; - struct AcceptedSocket *curr_socket; -}; - - -void *recv_data(void *threadarg){ - struct recv_data_arg *recv_d_arg; - recv_d_arg=(struct recv_data_arg *) threadarg; - - while(recv_d_arg->server->running){ - char buffer[30000]={0}; - ssize_t amountRecv=recv(recv_d_arg->socketFD, buffer, 30000, 0); - - if(recv_d_arg->server->running){ - if(amountRecv==0) break; - - recv_d_arg->server->on_message(recv_d_arg->server, buffer, amountRecv, recv_d_arg->socketFD); - } - } - - - - recv_d_arg->curr_socket->shutdown=true; - close(recv_d_arg->socketFD); - if(recv_d_arg->server->on_disconnect){ - recv_d_arg->server->on_disconnect(recv_d_arg->server,recv_d_arg->socketFD); - } - free(recv_d_arg); - - - pthread_exit(NULL); -} - -void cleanup_conns(struct Server *server){ - if(server->accepted_socket){ - struct AcceptedSocket *sel_socket=server->accepted_socket; - struct AcceptedSocket *prev_socket=server->accepted_socket; - struct AcceptedSocket *prev2_socket=server->accepted_socket; - - while (sel_socket!=NULL){ - sel_socket=sel_socket->next; - if(prev_socket->shutdown==true){ - if(prev_socket==server->accepted_socket){ - free(server->accepted_socket); - server->accepted_socket=sel_socket; - } else { - free(prev2_socket->next); - prev2_socket->next=sel_socket; - } - } else { - prev2_socket=prev_socket; - } - prev_socket=sel_socket; - } - } -} - -void *await_client(void *threadarg){ - struct Server *server; - server=(struct Server *) threadarg; - while (server->running){ - printf("\n=== WAITING FOR CONNECTION ===\n\n"); - - struct AcceptedSocket* new_socket = acceptIncoming(server); - if(server->running){ - if(new_socket->succ==0){ free(new_socket); } else { - - struct recv_data_arg *recv_d_arg; - recv_d_arg=malloc(sizeof(* recv_d_arg)); - recv_d_arg->socketFD=new_socket->socketFD; - recv_d_arg->server=server; - recv_d_arg->curr_socket=new_socket; - - int thread_err=pthread_create(&new_socket->thread_id, NULL, recv_data, recv_d_arg); - } - - cleanup_conns(server); - } - } - - pthread_exit(NULL); -} - -void server_close_socket(struct Server *server){ - server->running=false; - - struct AcceptedSocket *sel_socket_A=server->accepted_socket; - while(sel_socket_A!=NULL){ - close(sel_socket_A->socketFD); - sel_socket_A->shutdown=true; - sel_socket_A=sel_socket_A->next; - } - - int shuterr=shutdown(server->socket,SHUT_RDWR); - int closeerr=close(server->socket); - - sleep(2); - - //this took way to long to make - /* - if(server->accepted_socket!=NULL){ - while(server->accepted_socket!=NULL){ - struct AcceptedSocket *sel_socket=server->accepted_socket; - struct AcceptedSocket *prev_socket=server->accepted_socket; - struct AcceptedSocket *prev2_socket=server->accepted_socket; - while(sel_socket!=NULL){ - prev2_socket=prev_socket; - prev_socket=sel_socket; - sel_socket=sel_socket->next; - } - - if(prev2_socket->next==NULL){ - free(server->accepted_socket); - server->accepted_socket=NULL; - } else { - free(prev2_socket->next); - prev2_socket->next=NULL; - } - } - } - */ - cleanup_conns(server); - - - - printf("\nshutdown with %d : %d\n",shuterr,closeerr); - free(server); -} - -pthread_t launch_socket(struct Server *server){ - int addrlen= sizeof(server->address); - - printf("running on port: %d\n",server->port); - - pthread_t id; - int thread_err=pthread_create(&id, NULL, await_client, (void *) server); - return id; -} -- cgit v1.3