Récupération des données par le client
Bonjour,
Je teste en ce moment Node.js en créant un petit serveur permettant d'afficher un pourcentage d'avancement sur un traitement long en PHP coté serveur.
Pour cela, j'ai créé un serveur avec 'net' et les sockets.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| var net=require('net');
var percent=0;
var maxData=100;
var server=net.createServer(function(c) {
console.log('connected');
c.on('data',function(dataObject) {
var data=dataObject.toString();
var cmd=data.substr(0,3);
if (cmd=='GET') {
c.write('{ "percent" : '+percent+' , "max" : '+maxData+' }\r\n')
}
if (cmd=='MAX') {
maxData=parseInt(data.substr(4),10);
console.log("Set max to "+maxData+"\r\n");
c.write("OK\r\n");
}
if (cmd=='SET') {
percent=parseInt(data.substr(4),10);
console.log("Set value to "+percent+"\r\n");
c.write("OK\r\n");
}
if (cmd=='END') {
console.log("disconnected");
c.end();
}
});
});
server.listen(8124,function() {
console.log("Server run !");
}); |
Rien de bien compliqué. La connexion avec PHP pour envoyer les informations marche très bien.
Par contre, comment récupérer les données JSON par le navigateur ? J'ai essayé avec WebSocket, mais il me dit qu'il y a un problème d'HandShake.
socket.io ?
ou jQuery avec ajax peut suffire ?
Tous les tutos lus utilisent un serveur Node.js HTTP.
Comment faire ?