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