// Server
const io = require("socket.io")(3000);
let drivers = [];
let riders = [];
io.on("connection", (socket) => {
const type = socket.handshake.query.type;
if (type === "driver") drivers.push(socket);
else if (type === "rider") riders.push(socket);
socket.on("request", (data) => {
riders.forEach((rider) => rider.emit("request", data));
});
socket.on("accept", (data) => {
riders.forEach((rider) => rider.emit("accept", data));
drivers.splice(
drivers.findIndex((driver) => driver === socket),
1
);
});
});
// Client (Driver)
const socket = io.connect("localhost:3000", {
query: { type: "driver" },
});
socket.on("request", (data) => {
// Display the ride request on the screen
});
socket.on("accept", (data) => {
// Display the accepted ride on the screen
});
// Client (Rider)
const socket = io.connect("localhost:3000", {
query: { type: "rider" },
});
socket.on("request", (data) => {
// Display the ride request on the screen
});