C'est ça.
Mais là encore, il y a des exceptions: En FTP actif, le socket coté serveur est supposé être bindé au port 20 (ftp-data) avant se de connecter au client...
C'est ça.
Mais là encore, il y a des exceptions: En FTP actif, le socket coté serveur est supposé être bindé au port 20 (ftp-data) avant se de connecter au client...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
L'application dois certainement avoir deux sockets. Un binder sur l'adresse locale (donc un serveur) et l'autre adresse sur la machine distante (un client), non ?
Apres une longue periode d'inactivite, j'ai finalement termine l'implementation de mes classes. J'ai donc une classe pour UDP (avec un bind() si c'est un serveur) et 2 classes pour TCP : TCP_SERVER et TCP_CLIENT.
TCP_CLIENT a les fonctions connect(), send(), recv().
TCP_SERVER a les fonctions listen(), bind() et accept().
Rmq : TCP_SERVER Server declare une instance Client de TCP_CLIENT.
Lors de l'appel de accepte(), il passe le descripteur retourne par accepte() aux constructeur TCP_CLIENT(int). De cette maniere les fonctions Server->envoi() et Server->recep() sont simplement des appels aux fonctions Server->Client->envoi() et Server->Client->recep().
Il reste quelques bugs mineurs en liens avec les pointeurs mais l'application fonctionne et le sujet est clos.
Merci pour tout.
Partager