65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
/* Créé et met un serveur sur écoute
|
|
*
|
|
* @serverHost<char*> Nom de l'hôte local (localhost)
|
|
*
|
|
* @givenPort<char**> Pointeur sur le <char*> à remplir => contiendra le port donné par le système
|
|
* @listenSocket<int*> Pointeur sur le <int> à remplir => contiendra un pointeur sur la socket d'écoute
|
|
*
|
|
*/
|
|
void DROP_SERVER(char* serverHost, char** givenPort, int* listenSocket);
|
|
|
|
|
|
|
|
/* Gestion de la requête du client
|
|
*
|
|
* @pBuffer<char*> Requête en question
|
|
* @DUSER_SOCKET<int*> Pointeur sur la SOCKET du BUS DE DONNEES utilisateur
|
|
* @DFTP_SOCKET<int*> Pointeur sur la SOCKET du BUS DE DONNEES FTP
|
|
*
|
|
* @history
|
|
* [1] si "PORT a1,a2,a3,a4,p1,p2" on démarre la SOCKET CLIENT du BUS DE DONNEES
|
|
* [2]
|
|
* [3]
|
|
*/
|
|
void MANAGE_REQUEST(char* pRequest, int* DUSER_SOCKET, int* DFTP_SOCKET);
|
|
|
|
|
|
|
|
/* Gestion de la réponse du serveur FTP et modification de la réponse
|
|
*
|
|
* @pAnswer<char**> Pointeur sur le buffer de réponse du serveur FTP
|
|
* @DUSER_SOCKET<int*> Pointeur sur la SOCKET du BUS DE DONNEES utilisateur
|
|
* @DFTP_SOCKET<int*> Pointeur sur la SOCKET du BUS DE DONNEES FTP
|
|
*
|
|
* @history
|
|
* [1] SI commande sans transfert nécessaire, on modifie la réponse
|
|
|
|
* [2] SI on a besoin d'un transfert de données
|
|
* (1) On initialise les SOCKETS avec la valeur de PORT a,b,c,d,p1,p2
|
|
* (2) a.b.c.d (adresse ip) + p1*256+p2 (port)
|
|
* (3) UTILISATEUR (ACIF) PROXY (PASSIF) SRV_FTP
|
|
*
|
|
* [3] SI 227, on lance la SOCKET FTP du BUS DE DONNEES (mode passif)
|
|
* [4] SI 226, on ferme les SOCKETS du BUS DE DONNEES
|
|
*
|
|
*/
|
|
void MANAGE_RESPONSE(char** pAnswer, int* DUSER_SOCKET, int* DFTP_SOCKET);
|
|
|
|
|
|
|
|
/* Attends une réponse du client
|
|
*
|
|
* @pSocket<int*> Pointeur sur la SOCKET en question
|
|
* @pBuffer<char*> Buffer qui contiendra la réponse
|
|
*
|
|
* @history
|
|
* [1] On read() tant qu'on a pas les symboles de fin (\r\n)
|
|
* [2] On écrit sur le buffer
|
|
*
|
|
* [3] Si une erreur occure, on retourne -1
|
|
*
|
|
*
|
|
* @return nbRead<int> On retourne le nombre de char lus, sinon -1 si erreur
|
|
*
|
|
*/
|
|
int WAIT_CLIENT(int* pSocket, char* pBuffer); |