Comment + history <PROXY_FTP.C>

This commit is contained in:
xdrm-brackets 2015-12-17 00:43:18 +01:00
parent fed7cad10b
commit 8188a7d38a
2 changed files with 42 additions and 45 deletions

View File

@ -1,19 +1,5 @@
#include "proxy_ftp.h" #include "proxy_ftp.h"
// DECLARATIONS
static pthread_t managers[maxListLen];
static int activeManagers = 0x00;
/* headers */
static void* testServer();
void* manageConnection(void* THREADABLE_SOCKET);
/*****************/ /*****************/
@ -39,8 +25,19 @@ int main(int argc, char* argv[]){
/*
static void* testServer(char* localPort){ *
* @history
* [0] Initialisation des variables
* [1] On démarre le SERVEUR d'écoute globale
* [2] Attente d'une demande de connection, puis création d'un THREAD
* [3] On attends la fin de tous les THREADS
* [4] On ferme la SOCKET d'écoute globale
*
*/
int main(int argc, char* argv[]){
/* [0] Initialisation des variables
==========================================================*/
int THREADABLE_SOCKET = -1; // contiendra le BUS DE COMMANDE utilisateur à envoyer à un THREAD int THREADABLE_SOCKET = -1; // contiendra le BUS DE COMMANDE utilisateur à envoyer à un THREAD
struct sockaddr_storage clientInfo; // contiendra les infos client struct sockaddr_storage clientInfo; // contiendra les infos client
char repeat; // sert à sortir de la boucle char repeat; // sert à sortir de la boucle
@ -50,20 +47,20 @@ static void* testServer(char* localPort){
char* serverPort; // contiendra le port char* serverPort; // contiendra le port
int LISTENSOCK; // contiendra la socket d'écoute int LISTENSOCK; // contiendra la socket d'écoute
/* [0] On démarre le SERVEUR + le CLIENT
/* [1] On démarre le SERVEUR d'écoute globale
==========================================================*/ ==========================================================*/
serverPort = malloc(maxPortLen); serverPort = malloc(maxPortLen);
if( strlen(localPort) != 0 ) // attribution du port si dans les arguments
strcpy(serverPort, localPort); if( argc > 1 ) strcpy(serverPort, argv[1]);
DROP_SERVER(remoteHost, &serverPort, &LISTENSOCK); DROP_SERVER(remoteHost, &serverPort, &LISTENSOCK);
printf("Port: %s\n", serverPort); printf("Port: %s\n", serverPort);
/* [1] Attente d'une demande de connection, puis création d'une socket /* [2] Attente d'une demande de connection, puis création d'un THREAD
============================================================================*/ ============================================================================*/
int index = 0; int index = 0;
while( index <= maxListLen ){ while( index <= maxListLen ){
@ -76,10 +73,15 @@ static void* testServer(char* localPort){
index++; index++;
} }
/* [3] On attends la fin de tous les THREADS
==========================================================*/
int i; int i;
for( i = 0 ; i < maxListLen ; i++ ) for( i = 0 ; i < maxListLen ; i++ )
pthread_join(managers[i], NULL); pthread_join(managers[i], NULL);
/* [4] On ferme la SOCKET d'écoute globale
==========================================================*/
printf("FERMETURE DE TOUTES LES CONNECTIONS!\n"); printf("FERMETURE DE TOUTES LES CONNECTIONS!\n");
close(LISTENSOCK); close(LISTENSOCK);
} }
@ -123,7 +125,7 @@ void* manageConnection(void* THREADABLE_SOCKET){
char* ftp_response; // contiendra le BUFFER de réponse du serveur FTP (commandes) char* ftp_response; // contiendra le BUFFER de réponse du serveur FTP (commandes)
int nbReceived, nbSend; // contiendra les nb reçu && envoyé int nbReceived, nbSend; // contiendra les nb reçu && envoyé
/* [2] Envoi de la séquence de Bienvenue /* [2] Envoi de la séquence de bienvenue
============================================================================*/ ============================================================================*/
swrite(&USER_SOCKET, WLCM_MSG); swrite(&USER_SOCKET, WLCM_MSG);
@ -176,26 +178,4 @@ void* manageConnection(void* THREADABLE_SOCKET){
// on arrête le THREAD // on arrête le THREAD
pthread_exit(NULL); pthread_exit(NULL);
} }
/*
* DROP_SERVER
* INIT_CLIENT
*
* while(){
* accept();
* client_send()
* }
*
* EXIT_CLIENT
* HALT_SERVER
*
*
*
*
*
*
*
*
*/

View File

@ -97,3 +97,20 @@
#include "dep/utility.c" #include "dep/utility.c"
#include "dep/client.c" #include "dep/client.c"
#include "dep/server.c" #include "dep/server.c"
/* headers */
void testServer();
void* manageConnection(void* THREADABLE_SOCKET);
// VARIABLES
static pthread_t managers[maxListLen]; // contiendra les THREADS
static int activeManagers = 0x00; // sert à détecter les THREADS utilisés