Configuration d'un serveur WEB

le code du serveur est dans le fichier 'server_io.js' , (un extrait ci-dessous ).

1
//---------------------------------- le serveur -------------------------
2
3
function sendError(errCode, errString, response)
4
{
5
  response.writeHead(errCode, {"Content-Type": "text/plain"});
6
  response.write(errString + "\n");
7
  response.end();
8
  return;
9
}
10
11
function sendFile(err, file, response)
12
{
13
  if(err) return sendError(500, err, response);
14
  response.writeHead(200);
15
  response.write(file, "binary");
16
  response.end();
17
}
18
19
function getFile(exists, response, localpath)
20
{
21
  if(!exists) return sendError(404, 'erreur 404 -- page inconnue ! :( ', response);
22
  fs.readFile(localpath, "binary",
23
   function(err, file){ sendFile(err, file, response);});
24
}
25
26
function getFilename(request, response)
27
{
28
  var urlpath = url.parse(request.url).pathname; // following domain or IP and port
29
  if (urlpath=="/")
30
	urlpath="/index.html";
31
  //console.log(urlpath)
32
  var localpath = path.join(__dirname+'/public/', urlpath); // 
33
  fs.exists(localpath, function(result) { getFile(result, response, localpath)});
34
}
35
var server = http.createServer(getFilename);
36
37
// ----------------- pour socket.io --------------
38
var io = require('socket.io')(server);
39
// -------  
40
41
server.listen(80);
42
console.log("Server  +  IO actif...");  
43
 
44
 //--   fin zone serveur ----------------------
45

RemarqueFonctionnement de Node.js

Contrairement au programme Arduino ou le code est exécuté en boucle ( fonction loop() de l'Arduino ) le programme du serveur est exécuté une seule fois.

Le code JavaScript du serveur contient des fonctions de "callback" qui sont déclenchées par des événements externes (ex : réception des requêtes html ...)

Ces fonctions continuent à fonctionner même lorsque le programme principal est terminé.

Elles sont reconnaissables car elles se terminent toujours par " } ) ; " , pour mettre fin à l'exécution de ces fonctions il faut arrêter votre programme Node.js (ctrl c )