Node.js & socket.io : Erreur 404

Fermé
SioGabx Messages postés 262 Date d'inscription mardi 21 août 2018 Statut Membre Dernière intervention 17 novembre 2022 - Modifié le 14 avril 2020 à 22:23
Bonsoir, j'essaye de faire marcher un tchat mais j'obtiens constamment l'erreur suivante en boucle :
"/socket.io/?EIO=3&transport=polling&t=1586730459036-148" -> 404




J'essaye de le faire fonctionner dans un sous dossier que j'ai régler sur node.js dans mes sites, le reste du site fonctionne sous apache
A savoir que j'héberge mon site chez ALWAYSDATA.


Voici mon code :

Script dans index.html
    <script>
      $(function () {
        //var socket = io.connect('https://siogabx.alwaysdata.net', { path: "/socket/socket.io" });
       // var socket = io.connect('https://siogabx.fr:8100', { path: "/socket/socket.io" });
       // var socket = io.connect('https://siogabx.fr:8100');
     //   var socket = io.connect('https://siogabx.fr/socket/', {'port': 8100});
       //var socket = io.connect('https://siogabx.fr:8100/socket/');
       var socket = io();
        $('form').submit(function(){
          socket.emit('chat message', $('#m').val());
          $('#m').val('');
          return false;
        });
        socket.on('chat message', function(msg){
          $('#messages').append($('<li>').text(msg));
          window.scrollTo(0, document.body.scrollHeight);
        });
      });
    </script>


Code index.js (fichier lancé par Node.js)
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get("/socket/", function(req, res){
    res.sendFile(__dirname + '/index.html');
   // res.send('<h1>Hello world '+ process.env.ALWAYSDATA_HTTPD_PORT+'</h1>');
})

io.on('connection', function(socket){
    console.log('a user is connected');
    socket.on('disconnect', function (){
        console.log('a user is disconnected');
    })
    socket.on('chat message', function (msg){
        console.log('message recu : ' + msg);
        io.emit('chat message', msg);
    })

})

http.listen(process.env.ALWAYSDATA_HTTPD_PORT, function(){
  console.log('listening on *:' + process.env.ALWAYSDATA_HTTPD_PORT);
});


A savoir que dans mes logs le fichier est ok
[12/Apr/2020:23:46:27 +0200] [upstream] Upstream starting: node /home/siogabx/www/socket/index.js (env: {'HOME': '/home/siogabx', 'LANG': 'en_US.UTF-8', 'LC_ALL': 'en_US.UTF-8', 'NODEJS_VERSION': '', 'ALWAYSDATA_HTTPD_IP': '127.2.107.233', 'ALWAYSDATA_HTTPD_PORT': '8100', 'PORT': '8100', 'IP': '127.2.107.233'}, cwd: /home/siogabx/www/socket/)
[12/Apr/2020:23:46:27 +0200] [upstream] Upstream started PID: 779050
[12/Apr/2020:23:46:27 +0200] [upstream] [779050] STDOUT: listening on *:8100


et présent dans la liste des processus que me liste ALWAYSDATA (montre que le fichier js est en cours...) :



Possible erreur ? :
1. fichier index.html -> [var socket = io();] j'ai essayer plusieurs choses, sans succès
2. Une mauvaise installation npm ? étant donné qu'il trouve 404.... :/

Merci pour votre aide. Je laisse l'adresse au cas ou vous voudriez aller regarder… https://siogabx.fr/socket/

Dans l'attente d'une réponse, merci d'avance et bonne soirée !