O'Reilly logo

Learning Node.js for .NET Developers by Harry Cummings

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Organizing Socket.IO applications

Now that we have a chat lobby on the index page of our application, it's a bit odd that users have to reload the page (and lose the chat history) to find out about new games. We can use Socket.IO to update these as well.

Exposing real-time updates to the model

First, we'll need our games service itself to expose events for when games are added or removed. Here we use the Mongoose-provided post method to hook into persistence operations on games as given here src/services/games.js:

'use strict';

const EventEmitter = require('events');
const emitter = new EventEmitter(); module.exports = (mongoose) => { let Game = mongoose.models['Game']; if (!Game) { let Schema = mongoose.Schema; let gameSchema = new Schema({ word: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required