echange de message entre les clients
This commit is contained in:
@@ -9,14 +9,44 @@ const io = new Server(server);
|
||||
|
||||
const PORT = process.env.PORT || 3000;
|
||||
|
||||
let waitingPlayer = null;
|
||||
|
||||
// Sert tous les fichiers du dossier "client"
|
||||
app.use(express.static(path.join(__dirname, "..", "client")));
|
||||
|
||||
io.on("connection", (socket) => {
|
||||
console.log("Un client s'est connecte : ${socket.id}");
|
||||
|
||||
if (waitingPlayer === null){
|
||||
waitingPlayer = socket;
|
||||
socket.emit("status", "En attente d'un second joueur...");
|
||||
} else {
|
||||
const partner = waitingPlayer;
|
||||
waitingPlayer = null;
|
||||
|
||||
const socketIsGuide = Math.random() < 0.5;
|
||||
socket.emit("role", socketIsGuide ? "guide" : "explorateur");
|
||||
partner.emit("role", socketIsGuide ? "explorateur" : "guide");
|
||||
|
||||
socket.data.partnerId = partner.id;
|
||||
partner.data.partnerId = socket.id;
|
||||
|
||||
socket.emit("status", "Partie prete !");
|
||||
partner.emit("status", "Partie prete !");
|
||||
}
|
||||
|
||||
socket.on("message", (data) => {
|
||||
const partnerId = socket.data.partnerId;
|
||||
if (partnerId){
|
||||
io.to(partnerId).emit("message", data);
|
||||
}
|
||||
});
|
||||
|
||||
socket.on("disconnect", () => {
|
||||
console.log("Client deconnecte : ${socket.id}");
|
||||
if (waitingPlayer === socket){
|
||||
waitingPlayer = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user