Besoin Aide (Client PHP/Serveur C++)

Signaler
Messages postés
23
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
16 septembre 2008
-
Messages postés
23
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
16 septembre 2008
-
slt bien a vous je suis en train de coder un serveur en c++ socket en protocole tcp




et un client en php C++

LE SERVEUR C++ :

#include <cstdlib>
#include
#include <fstream>
using namespace std;
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr   = INADDR_ANY;
sin.sin_family    = AF_INET;
sin.sin_port    = htons(3421);
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
listen(sock, 0);
while(1)
{
int sinsize = sizeof(csin);
int nombre_de_caractere;
char buff[20];
char buffer[20];
int tempo;
if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
{
cout << buff << "Conection [OK] \n";
//send(csock, "Hello world!\r\n", 14, 0);
}
}
}

LE CLIENT PHP:

<?php
  //client de detection migakernel
   
    $serveur  = $_SERVER["REMOTE_ADDR"];
    $document = "/";
   
    echo "Recherche du Kernek servel de MigaDesktop sur $serveur (port 3421)
";
   
    $idSocket = @fSockOpen($serveur, 3421, $codeErreur, $msgErreur, 5);
    if (!$idSocket) {
        echo "
<H1>Migakernel n'est pas installer sur cette ordinateur";
    } else {
 echo "
<H1>Migakernel est installer sur cette ordinateur";
 stream_set_blocking($idSocket, TRUE);
    stream_set_timeout($idSocket, 5);
   
 fputs($idSocket, "vista");
 //socket_write($idSocket, 'migadesktop' , strlen($in)); 
 fclose($idSocket);
 }
   
      /*
    // Envoi de données au serveur
    fputs($idSocket, "GET $document HTTP/1.1\r\n");
    fputs($idSocket, "Host: localhost\r\n");
    fputs($idSocket, "\r\n");                  // Marque la fin de l'entête
   
    // Lecture de la réponse
    while (!feof($idSocket)) {
        $donnees = fgets($idSocket, 512);
        echo "<xmp>$donnees</xmp>";            // Affichage du code source
    }
    */
?>

 Et je voudrai que le client php envoie une chaine de carcter par exemple et que le serveur la recoive , l'affiche et envoie la confirmation de reception au client

pouvez vous m'adez a completez mon code , merci

4 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Et si tu nous disais où ca plante ?

Shell
Messages postés
23
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
16 septembre 2008

sa ne plante pas la conection se passe normalement , c'est juste que je ne sais pas comment recevoir des donée envoyé par le client
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Dans la partie serveur (C/C++) sert toi de la fonction recv(...) pour écouter ce qui arriver sur le socket connecté.

Shell
Messages postés
23
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
16 septembre 2008

je connais cette fonction mais je ne sais pas l'utiliser
  pourais-tu m'expliquer comment faire ?


pourai tu m'expliquer par msn

mek-in-gold@live.fr

c pour le projet migadesktop