LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 2013
-
2 mars 2005 à 14:39
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
3 mars 2005 à 19:15
salut,
voila j'essaie de faire communiquer deux programmes un en PHP et l'autre en C et j'utilise pr cela les sockets de PHP avec le protocole TCP/IP....
mais ca ne fonctionne pas pourtant le serveur a deja été testé et il marche et mon client est des plus basiques....
client.php:
<?php
echo "Connexion TCP/IP
\n";
/* le port utilisé */
$port = 2002;
/* l'adresse IP du serveur de destination */
$address = "172.20.0.47";
/* Cree une socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SQL_TCP);
if ($socket<0) {
echo "socket_create() a échoué : raison : " . socket_strerror ($socket) . "\n";
} else {
echo "OK.\n";
}
echo "Essai de connexion à '$address' sur le port '$port'...";
$result = socket_connect($socket, $address, $port);
if ($result < 0) {
echo "socket_connect() a échoué : raison : ($result) " . socket_strerror($result) . "\n";
} else {
echo "OK.\n";
}
$in = "test envoi";
$out = '';
echo "Envoi de la requête : $in";
socket_write($socket, $in, strlen($in));
echo "OK
";
echo "Lire la réponse : \n\n";
while ($out = socket_read($socket, 2048)) {
echo $out;
}
echo "Fermeture de la socket...";
socket_close($socket);
echo "OK.\n\n";
?>
mais a l'ecran il m'affiche cela:
Connexion TCP/IP
Notice: Use of undefined constant SQL_TCP - assumed 'SQL_TCP' in c:\program files\easyphp1-7\www\client_php.php on line 8
Warning: socket_create() expects parameter 3 to be long, string given in c:\program files\easyphp1-7\www\client_php.php on line 8 OK. Essai de connexion à '172.20.0.47' sur le port '2002'...
Warning: socket_connect() expects parameter 1 to be resource, null given in c:\program files\easyphp1-7\www\client_php.php on line 15 OK. Envoi de la requête : test envoi
Warning: socket_write() expects parameter 1 to be resource, null given in c:\program files\easyphp1-7\www\client_php.php on line 24 OK
Lire la réponse :
Warning: socket_read() expects parameter 1 to be resource, null given in c:\program files\easyphp1-7\www\client_php.php on line 27 Fermeture de la socket...
Warning: socket_close() expects parameter 1 to be resource, null given in c:\program files\easyphp1-7\www\client_php.php on line 31 OK.
si quelq'un sy connait un peu et pourrais venir a mon aide ce serait tres appreciable!!!
merci d'avance!!!
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 3 mars 2005 à 10:12
en fait j'avais deja essayer ca mais voila ca marche pas:
<?php
$serveur = "172.20.0.47";
echo " connexion au serveur $serveur
";
$idSocket = fSockOpen($serveur, 80, $codeErreur, $msgErreur);
if (!$idSocket) {
echo "La connexion via la socket a échouée.
";
echo "Code d'erreur: $codeErreur
";
echo "Message d'erreur: $msgErreur
";
die();
}
// Configuration de la connexion en mode bloquant et avec un timeout de 5
socket_set_blocking($idSocket, TRUE);
socket_set_timeout($idSocket, 5, 0);
$message = "test envoi";
// Envoi de données au serveur
$envoi = fputs($idSocket, $message);
if (!$envoi) {
echo "L envoi du message a échouée.
";
die();
}
// Lecture de la réponse
while (!feof($idSocket)) {
$donnees = fgets($idSocket, 512);
echo "$donnees"; // Affichage de la réponse
}
?>
mais il m'affiche tjrs ca qd j'utilise fsockopen:
Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\easyphp1-7\www\socket_02.php on line 25
donc je m'étais lancé vers les socket_create mais sans resultats!!!!
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 3 mars 2005 à 13:16
j'ai encore effectuer des tests et du coté serveur voila ce qu'il se passe:
la connexion est bien etablie
le message est bien recu
la reponse est bien envoyée
mais du coté client il reste ce probleme de max excecution time!!!!!
c rageant car ds les deux methodes j'ai le mmeme probleme ...
est ce lié a la config de mon réseaux????
je suis tout triste!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?