Bonjour,
J'ai un programme en c++ qui interagit via le protocole ModBus à une machine pour lui transmettre des ordres et je doit réaliser l'IHM en PHP.
Pour se faire j'utilise les sockets afin que lorsque l'on clique sur un bouton sur la page PHP sa envoie l'ordre correspondant au programme c++ qui se charge de le transmettre à la machine puis de renvoyer un boolean au code PHP pour savoir si sa a marché ou non.
Mon problème est un peu concon et se situe sur le serveur c++, je n'arrive pas à lire le buffer de la socket envoyé par le client ...
Je pense que mon problème vient surtout du fait que je ne comprend pas la fonction recv(), je l'ai utilisé ainsi :
Cependant lorsque j'essaye de lire le contenue de buffer je me retrouve avec des petits carrés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char *buffer; if(recv(soc, buffer, sizeof(buffer), 0) < 0)(un par ligne).
Afin de lire le buffer j'ai utilisé le code suivant :
Si quelqu’un peut m’éclairai sur cet erreur qui est surement toute bête ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 char *buffer = ""; cout << "Lecture de la socket du client :" << endl; if(recv(soc, buffer, sizeof(buffer), 0) < 0){ for(unsigned int i = 0; sizeof(buffer); i++) cout << buffer[i] << endl; }
Merci d'avance![]()
Partager