Comment + history <PROXY_FTP.C>
This commit is contained in:
parent
fed7cad10b
commit
8188a7d38a
70
proxy_ftp.c
70
proxy_ftp.c
|
@ -1,19 +1,5 @@
|
|||
#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
|
||||
struct sockaddr_storage clientInfo; // contiendra les infos client
|
||||
char repeat; // sert à sortir de la boucle
|
||||
|
@ -50,20 +47,20 @@ static void* testServer(char* localPort){
|
|||
char* serverPort; // contiendra le port
|
||||
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);
|
||||
|
||||
if( strlen(localPort) != 0 )
|
||||
strcpy(serverPort, localPort);
|
||||
// attribution du port si dans les arguments
|
||||
if( argc > 1 ) strcpy(serverPort, argv[1]);
|
||||
|
||||
|
||||
DROP_SERVER(remoteHost, &serverPort, &LISTENSOCK);
|
||||
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;
|
||||
while( index <= maxListLen ){
|
||||
|
@ -76,10 +73,15 @@ static void* testServer(char* localPort){
|
|||
index++;
|
||||
}
|
||||
|
||||
|
||||
/* [3] On attends la fin de tous les THREADS
|
||||
==========================================================*/
|
||||
int i;
|
||||
for( i = 0 ; i < maxListLen ; i++ )
|
||||
pthread_join(managers[i], NULL);
|
||||
|
||||
/* [4] On ferme la SOCKET d'écoute globale
|
||||
==========================================================*/
|
||||
printf("FERMETURE DE TOUTES LES CONNECTIONS!\n");
|
||||
close(LISTENSOCK);
|
||||
}
|
||||
|
@ -123,7 +125,7 @@ void* manageConnection(void* THREADABLE_SOCKET){
|
|||
char* ftp_response; // contiendra le BUFFER de réponse du serveur FTP (commandes)
|
||||
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);
|
||||
|
||||
|
@ -176,26 +178,4 @@ void* manageConnection(void* THREADABLE_SOCKET){
|
|||
|
||||
// on arrête le THREAD
|
||||
pthread_exit(NULL);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* DROP_SERVER
|
||||
* INIT_CLIENT
|
||||
*
|
||||
* while(){
|
||||
* accept();
|
||||
* client_send()
|
||||
* }
|
||||
*
|
||||
* EXIT_CLIENT
|
||||
* HALT_SERVER
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
}
|
17
proxy_ftp.h
17
proxy_ftp.h
|
@ -97,3 +97,20 @@
|
|||
#include "dep/utility.c"
|
||||
#include "dep/client.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
|
Loading…
Reference in New Issue