旧版本licode_basicExample简易分析

来源:互联网 发布:红帽linux和centos 编辑:程序博客网 时间:2024/06/11 19:30
/*global require, __dirname, console*/var express = require('express'),    bodyParser = require('body-parser'),    errorhandler = require('errorhandler'),    morgan = require('morgan'),    net = require('net'),    N = require('./nuve'),    fs = require("fs"),    https = require("https"),        config = require('./../../licode_config');var options = {    key: fs.readFileSync('../../cert/key.pem').toString(),    cert: fs.readFileSync('../../cert/cert.pem').toString()};var app = express();// app.configure ya no existe"use strict";app.use(errorhandler({    dumpExceptions: true,    showStack: true}));app.use(morgan('dev'));app.use(express.static(__dirname + '/public'));app.use(bodyParser.json());app.use(bodyParser.urlencoded({    extended: true}));//app.set('views', __dirname + '/../views/');//disable layout//app.set("view options", {layout: false});N.API.init(config.nuve.superserviceID, config.nuve.superserviceKey, 'http://localhost:3000/');var myRoom;//查找basicExampleRoom是否存在,不存在则创建。N.API.getRooms(function(roomlist) {    "use strict";    var rooms = JSON.parse(roomlist);    console.log(rooms.length); //check and see if one of these rooms is 'basicExampleRoom'    for (var room in rooms) {        if (rooms[room].name === 'basicExampleRoom'){            myRoom = rooms[room]._id;        }    }    if (!myRoom) {        N.API.createRoom('basicExampleRoom', function(roomID) {            myRoom = roomID._id;            console.log('Created room ', myRoom);        });    } else {        console.log('Using room', myRoom);    }});app.get('/getRooms/', function(req, res) {    "use strict";    N.API.getRooms(function(rooms) {        res.send(rooms);    });});//https://xx.x.x.xx:3004/getUsers/57b7b8ebc9ffd2606acb29e8app.get('/getUsers/:room', function(req, res) {    "use strict";    var room = req.params.room; //房间id    N.API.getUsers(room, function(users) {        res.send(users);    });});app.post('/createToken/', function(req, res) {    "use strict";    var room = myRoom,        username = req.body.username,        role = req.body.role;    N.API.createToken(room, username, role, function(token) {  //根据房间id创建token,返回给client        console.log(token);        res.send(token);    }, function(error) {        console.log(error);        res.status(401).send('No Erizo Controller found');    });});app.use(function(req, res, next) {    "use strict";    res.header('Access-Control-Allow-Origin', '*');    res.header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE');    res.header('Access-Control-Allow-Headers', 'origin, content-type');    if (req.method == 'OPTIONS') {        res.send(200);    } else {        next();    }});app.listen(3001); //httpvar server = https.createServer(options, app);server.listen(3004);  //https

0 0
原创粉丝点击