Puissance4/main.ts
2020-12-17 17:38:11 +01:00

61 lines
1.3 KiB
TypeScript

import express from 'express'
import WebSocket from './Websocket'
import Connection from './Connection'
interface Comm {
type?: 'request' | 'join' | 'proxy'
id?: number
xPos?: number
}
const app = express();
app.use(express.static('public'))
var server = app.listen(3000, function () {
const wsServer = new WebSocket({ port: 8080 })
wsServer.on('connection', (conn) => {
conn.send({ ok: true })
conn.on('message', (message: Comm | string) => {
if (typeof message === 'string') {
return
}
if (message?.type === 'request') {
handleRequest(conn)
}
if (message?.type === 'join' && message?.id) {
joinSession(conn, message.id)
}
if (message?.type === 'proxy' && message?.xPos) {
proxyRequest(conn, message.xPos)
}
})
})
console.log(`Example app listening at http://localhost:3000`);
});
function handleRequest(conn: Connection) {
// Générer un nombre aléatoire entre 100 et 999 et on vérifie qu'il n'y a pas déja de parti avec cette ID
// Rajouter la connection a cette partie
// renvoie au client l'ID
}
function joinSession(conn: Connection, session: number) {
// Rajouter la connection a cette partie
// renvoie au client l'ID
}
function proxyRequest(conn: Connection, xPos: number) {
// renvoyer a tout les clients du meme ID le xPos
}