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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?