Socket.io | erreur bizarre

slimus213

New Member
#1
bonjour à tous,

je suis débutant sur node et socket.io, j'ai créer un petit projet qui fonctionne parfaitement en local mais pas sur Planethoster

Je suis face à un problème lors de l'exécution d'un script simple en Nodejs avec socket.io, je suis pense que cela viens d'une mauvaise configuration du serveur ou du port d'écoute.
Le problème:
La console de la page HTML m'affiche dès le départ:
WebSocket connection to 'ws://nodetest.cyberdyne.agency/socket.io/?EIO=4&transport=websocket&sid=nNlP-YZAm44ABp4XAAAC' failed:

Puis de que j'émets une socket au server (et cela a chaque fois que je fait la requête) pour qu'il me renvois le contenu d'une table mysql je reçoit dans l'ordre:

La 1ere fois que j'envoi la requête je reçoit:
GET http://nodetest.cyberdyne.agency/so...rt=polling&t=OfT3IFk&sid=nNlP-YZAm44ABp4XAAAC 502 (Bad Gateway)
POST http://nodetest.cyberdyne.agency/so...rt=polling&t=OfT3Ii2&sid=nNlP-YZAm44ABp4XAAAC 400 (Bad Request)
websocket.js:43 WebSocket connection to 'ws://nodetest.cyberdyne.agency/socket.io/?EIO=4&transport=websocket&sid=QZ0VeTz3w53Cf7t8AAAA' failed:

La 2eme fois que j'envoi la requête tout ce passe bien

La 3eme fois que j'envoi la requête je reçoit:
GET http://nodetest.cyberdyne.agency/so...rt=polling&t=OfT3IFk&sid=nNlP-YZAm44ABp4XAAAC 502 (Bad Gateway)
POST http://nodetest.cyberdyne.agency/so...rt=polling&t=OfT3Ii2&sid=nNlP-YZAm44ABp4XAAAC 400 (Bad Request)
websocket.js:43 WebSocket connection to 'ws://nodetest.cyberdyne.agency/socket.io/?EIO=4&transport=websocket&sid=QZ0VeTz3w53Cf7t8AAAA' failed:

La 4eme fois que j'envoi la requête tout ce passe bien

et ainsi de suite...


Point d'entrée: server.js
JavaScript:
const { Socket } = require('dgram')

const { query } = require('express')

const { listen } = require('express/lib/application')



const app = require('express')()

const server = require('http').createServer(app)

const io = require('socket.io')(server)

const mysql = require("mysql")



const connection = mysql.createConnection({

host: "localhost",

user: "xxxxxxxxxxxx",

password: "xxxxxxxxxxxxxx",

database: "xxxxxxxxxxxxx"

})


const port = process.env.PORT || 4200;


connection.connect((err) => {

if (err) {

console.error("Erreur MySQL :" + err.stack, port)

return

}

console.log('Connection à la DB réussi', port)

})


app.get('/', (req, res) => {

res.sendFile(${__dirname}/public/index.html)

})


io.on('connection', (socket) => {

console.log("Un utilisateur s'est connecté !", port)


socket.on('disconnect', () => {

console.log("Oups, Un utilisateur s'est barré !")

})


socket.on('chat_message', (msg) => {

console.log('Message recu:'+msg, port)


db_query = "SELECT * FROM teams"

connection.query(db_query, (err, rows, field) => {

if (err) throw err

data = rows

io.emit('server_message', data)

})

connection.end()



})

})



server.listen(port, () => {

console.log('Ecoute en cours sur le port ', port)

})
HTML:
<!DOCTYPE html>

<html lang="fr">



<head>

<meta charset="UTF-8">

<meta data-fr-http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Socket-Chat</title>

</head>

<button onclick="emitt()">emitt</button>

<body>

test

<script src="/socket.io/socket.io.js"></script>

<script>

let socket = io()

function emitt() {
socket.emit('chat_message', 'mbonjourr')
}



socket.on('server_message', (msg) => {
console.log(msg)
})

</script>

</body>

</html>
 
Haut