• R/O
  • HTTP
  • SSH
  • HTTPS

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Node.js sample application with Socket.IO


File Info

Rev. 00ab1e144e417bc42d78ae9d8415f1fbc7c19b64
Size 1,191 bytes
Time 2012-10-25 00:32:15
Author hylom
Log Message

fix basic socket connection protocol

Content

/*
 * GET home page.
 */

var crypto = require('crypto');

exports.index = function(req, res){
  res.render('index', { title: 'minichat' });
};

exports.echo = function(req, res) {
  var roomName = req.params.name;
  var yourName = 'test';
  var password = 'minichattest';
  var hashedPassword = '';
  var shasum = crypto.createHash('sha512');

  if (password !== '') {
    shasum.update(password);
    hashedPassword = shasum.digest('hex');
  }

  var params = {
    title: 'チャットルーム:' + roomName,
    room: {
      name: roomName,
      password: hashedPassword
    },
    user: {name: yourName}
  };
  res.render('room', params);
};

exports.room = function(req, res){
  var roomName = req.body.roomName || '';
  var yourName = req.body.yourName || '';
  var password = req.body.password || '';
  var hashedPassword = '';
  var shasum = crypto.createHash('sha512');

  if (password !== '') {
    shasum.update(password);
    hashedPassword = shasum.digest('hex');
  }

  var params = {
    title: 'チャットルーム:' + roomName,
    room: {
      name: roomName,
      password: hashedPassword
    },
    user: {name: yourName}
  };
  res.render('room', params);
};