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 <iostream>
#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)<BR>";
$idSocket = @fSockOpen($serveur, 3421, $codeErreur, $msgErreur, 5);
if (!$idSocket) {
echo "<BR><H1>Migakernel n'est pas installer sur cette ordinateur";
} else {
echo "<BR><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