this.broadcast_string(`event: ${type}\ndata: ${data}\n`);
}
+ handle_events(request, response) {
+ /* These headers will keep the connection open so we can stream events. */
+ const headers = {
+ "Content-type": "text/event-stream",
+ "Connection": "keep-alive",
+ "Cache-Control": "no-cache"
+ };
+ response.writeHead(200, headers);
+
+ /* Add this new client to our list of clients. */
+ const id = this.add_client(response);
+
+ /* And queue up cleanup to be triggered on client close. */
+ request.on('close', () => {
+ this.remove_client(id);
+ });
+ }
+
}
module.exports = Game;