44 lines
935 B
JavaScript
44 lines
935 B
JavaScript
//built-in
|
|
const path = require("path");
|
|
// const fs = require('fs').promises;
|
|
|
|
//fastify
|
|
const fastify = require("fastify")({
|
|
logger: false,
|
|
});
|
|
fastify.register(require("fastify-static"), {
|
|
root: path.join(__dirname, "public"),
|
|
prefix: "/"
|
|
});
|
|
|
|
//socket.io
|
|
var io = require("socket.io")(fastify.server, {
|
|
pingInterval: 1000,
|
|
pingTimeout: 3000
|
|
});
|
|
|
|
//socket.io events
|
|
io.on("connection", function(socket) {
|
|
|
|
//connection notify
|
|
console.log("someone connected.");
|
|
socket.on("disconnect", function() { console.log("someone disconnected."); });
|
|
|
|
//on 'rover'
|
|
socket.on('rover', function(rover) {
|
|
socket.broadcast.emit('rover', rover);
|
|
})
|
|
|
|
});
|
|
|
|
//listen
|
|
var port = process.env.PORT || 8080;
|
|
fastify.listen(port, function (err, address) {
|
|
if (err) {
|
|
fastify.log.error(err)
|
|
process.exit(1)
|
|
}
|
|
console.log(`Your app is listening on ${address}`)
|
|
fastify.log.info(`server listening on ${address}`)
|
|
});
|