Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const mongo = require('mongodb').MongoClient;
  2. const client = require('socket.io').listen(4000).sockets;
  3. const mysql = require('mysql');
  4. const cookie = require('cookie');
  5.  
  6. const Memcached = require('memcached');
  7. const PHPUnserialize = require('php-unserialize');
  8.  
  9.  
  10. var connection = mysql.createConnection({
  11.     host: 'localhost',
  12.     user: 'bugsbenny96',
  13.     password: 'password',
  14.     database: 'testdb'
  15. });
  16.  
  17. connection.connect(function(error) {
  18.     if(error) {
  19.     console.log('Error');
  20.     } else {
  21.     console.log('connected');
  22.     }
  23. });
  24.  
  25. connection.query("SELECT * FROM test", function(error, rows, fields){
  26.     if(error) {
  27.         console.log(error);
  28.     } else {
  29.         console.log(rows);
  30.     }
  31. });
  32.  
  33. // Connect to mongo
  34. mongo.connect('mongodb://127.0.0.1/mongochat',{ useNewUrlParser: true }, function(err, dbc) {
  35.     var db = dbc.db('mongochat');
  36.     if(err) {
  37.         throw err;
  38.     }
  39.  
  40.     console.log('MongoDB connected...');
  41.  
  42.     // Connect to Socket.io
  43.     client.on('connection', function(socket) {
  44.     console.log('connected...');
  45.         let chat = db.collection('chats');
  46.  
  47.     var mem = new Memcached('127.0.0.1:11211');
  48.  
  49.     mem.set('foo', 'dass',100,function(err){
  50.         console.log('Error1:'+err);
  51.     });
  52.     mem.get('foo', function(err, data) {
  53.         console.log('Error:'+err);
  54.         console.log('Data'+data);
  55.     });
  56.  
  57.     var PHPSESSID = cookie.parse(socket.request.headers.cookie).PHPSESSID;
  58.     console.log(PHPSESSID);
  59.  
  60.     mem.get(PHPSESSID, function(err, data){
  61.         if(err) return console.error(err);
  62.         if(data===false)return console.error('could not retreive data');
  63.         console.log('raw data:',data);
  64.     });
  65.  
  66.         // create function to send status
  67.         sendStatus = function(s) {
  68.             socket.emit('status', s);
  69.         }
  70.  
  71.         // Get chats from mongo collection
  72.         chat.find().limit(100).sort({_id:1}).toArray(function(err, res){
  73.             if(err){
  74.             throw err;
  75.             }
  76.  
  77.             // Emit the messages
  78.             socket.emit('output', res);
  79.         console.log('output send');
  80.         });
  81.  
  82.         // Handle input events
  83.         socket.on('input', function(data){
  84.             let name = data.name;
  85.             let message = data.message;
  86.  
  87.             // Check for name and message
  88.             if(name == '' || message == '') {
  89.             // send error status
  90.             sendStatus('Please enter a name and message');
  91.             } else {
  92.                 // Insert message
  93.                 chat.insertOne({name: name, message: message}, function() {
  94.                     client.emit('output', [data]);
  95.  
  96.                     // Send status object
  97.                     sendStatus({
  98.                         message: 'Message sent',
  99.                         clear: true
  100.                     });
  101.                 });
  102.             }
  103.         });
  104.  
  105.         // Handle clear
  106.         socket.on('clear', function(data) {
  107.             // remove all chats from collection
  108.             chat.deleteMany({}, function(){
  109.                 // Emit cleared
  110.                 socket.emit('cleared');
  111.             });
  112.         });
  113.  
  114.     });
  115.  
  116. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement