Select Git revision
-
Elarouti Adam authoredElarouti Adam authored
server.js 3.09 KiB
var http = require('http');
var fs = require('fs'); // Pour lire les fichiers
var path = require('path'); // Pour gérer les chemins de fichiers
var socketIo = require('socket.io');
// Création du serveur HTTP
var server = http.createServer((req, res) => {
// Si l'URL est la racine ('/'), renvoyer la page_jeu.html depuis le dossier htdocs
if (req.url === '/') {
// Construction du chemin complet du fichier 'page_jeu.html'
var filePath = path.join(__dirname, 'htdocs', 'page_jeu.html');
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
res.writeHead(500, { "Content-Type": "text/plain" });
res.end("Erreur du serveur.");
return;
}
res.writeHead(200, { "Content-Type": "text/html" });
res.end(data);
});
} else if (req.url.endsWith('.css')) {
// Gérer les fichiers CSS
var filePath = path.join(__dirname, 'htdocs', req.url);
fs.readFile(filePath, (err, data) => {
if (err) {
res.writeHead(404, { "Content-Type": "text/plain" });
res.end("CSS non trouvé.");
return;
}
res.writeHead(200, { "Content-Type": "text/css" });
res.end(data);
});
} else if (req.url.endsWith('.js')) {
// Gérer les fichiers JS
var filePath = path.join(__dirname, 'htdocs', req.url);
fs.readFile(filePath, (err, data) => {
if (err) {
res.writeHead(404, { "Content-Type": "text/plain" });
res.end("JS non trouvé.");
return;
}
res.writeHead(200, { "Content-Type": "application/javascript" });
res.end(data);
});
} else if (req.url.startsWith('/chess_pieces/')) {
// Gérer les fichiers image dans le dossier 'chess_pieces'
var filePath = path.join(__dirname, 'htdocs', req.url);
fs.readFile(filePath, (err, data) => {
if (err) {
res.writeHead(404, { "Content-Type": "text/plain" });
res.end("Image non trouvée.");
return;
}
res.writeHead(200, { "Content-Type": "image/png" });
res.end(data);
});
} else {
// Autres requêtes peuvent être traitées ici
res.writeHead(404, { "Content-Type": "text/plain" });
res.end("Page non trouvée.");
}
});
// Lier Socket.io au serveur HTTP
var io = socketIo(server);
io.on('connection', function (socket) {
console.log("Un client est connecté : " + socket.id);
// Envoyer un message "hello" au client
socket.emit('hello', { 'this': 'is my data' });
// Écouter un message du client (optionnel)
socket.on('message', function (data) {
console.log("Message reçu du client :", data);
socket.on('disconnect', () => {
console.log('Le client est déconnecté');
});
});
});
// Lancer le serveur sur le port 8080
server.listen(8080, () => {
console.log("Serveur WebSocket démarré sur http://localhost:8080");
});