Browse Source

Messages received by the WebSocket server are now saved in a file

master
Yann Flory 4 years ago
parent
commit
7ee75b9e7f
3 changed files with 23 additions and 1 deletions
  1. 1
      .gitignore
  2. 3
      NetFluxWebsocketServer.js
  3. 20
      storage/LogStore.js

1
.gitignore

@ -5,3 +5,4 @@ customization
.*.swp
*.db
/customize/
messages.log

3
NetFluxWebsocketServer.js

@ -1,6 +1,7 @@
;(function () { 'use strict';
let Crypto = require('crypto');
let WebSocket = require('ws');
let LogStore = require('./storage/LogStore');
let LAG_MAX_BEFORE_DISCONNECT = 30000;
let LAG_MAX_BEFORE_PING = 15000;
@ -142,7 +143,7 @@ let run = module.exports.run = function (storage, socketServer) {
let ctx = {
users: {},
channels: {},
store: storage
store: LogStore.create('messages.log', storage)
};
setInterval(function () {
Object.keys(ctx.users).forEach(function (userId) {

20
storage/LogStore.js

@ -0,0 +1,20 @@
var Fs = require("fs");
var message = function(file, msg) {
file.write(msg+"\n");
}
var create = module.exports.create = function(filePath, backingStore) {
var file = Fs.createWriteStream(filePath, {flags: 'a+'});
return {
message: function(channel, msg, callback) {
message(file, msg);
backingStore.message(channel, msg, callback);
},
getMessages: backingStore.getMessages
}
}
Loading…
Cancel
Save