Sur mon serveur ma page php contient les scripts jquery.min.js et init.js
la page php appelle des fonctions dans init.js tel que
function emet( lamp,value, ack)
{
var textejson = {"str":0x02,"len":0x04, "cmd":0x03, "dt1":lamp, "dt2":value, "dt3":ack, "end":0x03 };
envoie(textejson);
}
function envoie(textejson)
{
jQuery.post("socket.php", textejson,
function(data)
{
parseJSon(JSON.stringify(data));
}, "json");
}
function parseJSon(dJson)
{
log(dJson);
var duino = eval('(' + dJson + ')');
switch(duino.cmd)
{
case 0x02:
digitalWriteResp(duino.data1, duino.data2, duino.data3);
break;
case '2':
digitalWriteResp(duino.data1, duino.data2, duino.data3);
break;
case 2:
digitalWriteResp(duino.data1, duino.data2, duino.data3);
break;
}
}
et le fichier socket.php
<?php
$msg = "";
$buffer = null;
$msg = file_get_contents("php://input"); // on ne reprend que les données utiles et non l'intégralité de la requête
$host="xxx.xxx.xxx.xxx";
$port="xxxx";
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //création du socket
socket_connect($socket, $host, $port); //connection du socket
socket_write($socket,$msg,strlen($msg)); //envoie des données POST
do
{
if(isset($buffer)) // si buffer contien des donnees
echo $buffer; // reponse à la requête javascript
}
while(@socket_recv($socket,$buffer,32,0) != 0); // on attend la reponse (=! 0) sur le socket
socket_close($socket); //fermeture du socket
?>
Désolé je ne saurai pas vous expliqué plus. En espérant que cela vous aide a comprendre comment cela marche chez moi...