Socket <---> PHP : problème

Posté par litbos le 1/7/2005 16:32:19
Bonjour,

J'essaye de faire communiquer un client PHP avec un serveur Windev avec des sockets.

Je vois qu'il recoit bien la demande de connexion, il crée bien un thread pour répondre à la personne sur le canal. Malheureusement il ne recoit aucune information. J'ai donc pensé au Mode de transmission

Je vois met le code Windev :

SI PAS SocketCrée("serveur",8000) ALORS
	Erreur("Impossible de créer la socket" + ErreurInfo(errMessage))
SINON
	SocketChangeModeTransmission("serveur",SocketMarqueurFin);
	ThreadExécute("Thread1",threadNormal,ProcédureAttente)	
FIN
....

PROCEDURE ProcédureAttente()
Info("Procedure Attente")
SI SocketAttendConnexion("serveur") ALORS
	Info("Réception demande connexion")
	canal est une chaîne
	canal = SocketAccepte("serveur")
	ThreadExécute(canal,threadNormal,ProcedureGestion,canal)	
FIN	

....

PROCEDURE ProcedureGestion(canal est une chaîne)
// Maintenant on va lire les information dans le socket
TotalSource,TotalDestination,Résultat est un réel = 0
CodeRetour est un entier
//
Info("En attente d'information")
Numcarte est une chaîne = SocketLit(canal)
Info("Première information recue")
Dateexpiration est une chaîne = SocketLit(canal)
Numcomptebrut est une chaîne = SocketLit(canal)
// On modifie le numero de compte car on ne sait pas modifier
//
Montanttransfert est une chaîne = SocketLit(canal)
Info(Numcarte + "#" + Dateexpiration + "#" + Numcompte + "#" + Montanttransfert)
Montantdemandé est un réel = Montanttransfert



Maintenant mon code PHP

 $canal = fsockopen("192.168.1.24",8000,&$errno,&$errst,30);
 if (!$canal) {
    echo "$errstr ($errno)\n";
 } else {
 fputs($canal,"v,fkv,dlvkld,\n");
 $resultat = fgets($canal);
 }
 fclose($canal);


Voilà je suis un peu perdu , j'ai un peu tout essayer merci si quelqu'un sait m'éclairer

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=2468&post_id=10410