J'ai programmé un petit shell à distance utilisant le protocole UDP. C'est-à-dire, un programme serveur_udp.c écoutant un numero de port donné, puis un client (client_udp.c) envoyant des commandes(ls, cd, etc) au serveur, puis récupère les résultats et les affiche à l'écran client.
La communication est déjà établie et marche bien(simple chaîne de caractères) mais mon problème c'est la récuperation de sortie standard (1) du serveur dans un descripteur.
Code :
- //serveur_udp.c
- if(dup2(fd,1)<0){
- perror("Error dup2" ); exit(1);
- }
- if(read(fd,tampon_reponse,1024)<0) {
- perror("Error dup2" ); exit(1);
- }
- puts(tampon_reponse);
|
Ce qui n'affiche rien, c-à-d la variable chaine de caractère "tampon_reponse" est vide.
J'espère que vous avez compris et pourrez m'aider.
Merci