Skip to content

Instantly share code, notes, and snippets.

@jochasinga
Last active May 8, 2021 20:16
  • Star 20 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save jochasinga/63ceadc19c5139f55660 to your computer and use it in GitHub Desktop.
Node/Socket.io server code for syncing data from Firebase
var Firebase = require("firebase");
var express = require("express");
// Create HTTP Server
var app = express();
var server = require("http").createServer(app);
// Attach Socket.io server
var io = require("socket.io")(server);
// Indicate port 3000 as host
var port = process.env.PORT || 3000;
// Create a new firebase reference
var firebaseRef = new Firebase(
"https://burning-limbo-6666.firebaseio.com/colors"
);
// Make the server listens on port 3000
server.listen(port, function() {
console.log("Server listening on port %d", port);
});
// Routing to static files
app.use(express.static(__dirname + "/public"));
// Socket server listens on connection event
io.on("connection", function(socket) {
console.log("Connected and ready!");
// firebase reference listens on value change,
// and return the data snapshot as an object
firebaseRef.on("value", function(snapshot) {
var colorChange = snapshot.val();
// Print the data object's values
console.log("snapshot R: " + colorChange.r);
console.log("snapshot B: " + colorChange.b);
console.log("snapshot G: " + colorChange.g);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment