【问题标题】:how to integrate signalmaster to already existing expressjs server如何将 signalmaster 集成到现有的 expressjs 服务器
【发布时间】:2015-08-13 15:57:26
【问题描述】:

我正在尝试在我的应用程序中使用 simplewebrtc,我已经有一个带有 express web 框架的简单 nodejs 服务器。但是要使用 simpleWebrtc,我们必须安装 signal master。我正在查看信号主包中 server.js 文件的源代码,但我不知道如何将此 server.js 与我已经存在的 app.js 文件结合起来。这基本上是我的 app.js

var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http);
var mongoose = require('mongoose');
var favicon = require('serve-favicon');
var bodyParser = require('body-parser');

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/index.html'); 
    console.log("connected to index");
});

这是 signalMaster 的 server.js

/*global console*/
var yetify = require('yetify'),
    config = require('getconfig'),
    uuid = require('node-uuid'),
    crypto = require('crypto'),
    fs = require('fs'),
    port = parseInt(process.env.PORT || config.server.port, 10),
    server_handler = function (req, res) {
        res.writeHead(404);
        res.end();
    },
    server = null;

// Create an http(s) server instance to that socket.io can listen to
if (config.server.secure) {
    server = require('https').Server({
        key: fs.readFileSync(config.server.key),
        cert: fs.readFileSync(config.server.cert),
        passphrase: config.server.password
    }, server_handler);
} else {
    server = require('http').Server(server_handler);
} 
server.listen(port);

var io = require('socket.io').listen(server);

if (config.logLevel) {
    // https://github.com/Automattic/socket.io/wiki/Configuring-Socket.IO
    io.set('log level', config.logLevel);
}

等等,你可以通过下载 zip 来查看其余部分。我认为这只是用 http 替换服务器,但 server=null 并没有真正意义。所有依赖项都在 signalMaster 解压缩文件的目录中。我正在阅读有关 signalMaster here 的信息。

【问题讨论】:

    标签: javascript node.js express webrtc


    【解决方案1】:

    你需要这样的东西

    var os = require('os');
        var static = require('node-static');
        var http = require('http');
        var socketIO = require('socket.io');
    
        var fileServer = new(static.Server)();
    
        var app = http.createServer(function (req, res) {
            fileServer.serve(req, res);
        }).listen(2013);
    
        var io = socketIO.listen(app);
    
        io.sockets.on('connection', function (socket){
         ...
         socket.on('join', function (message) {
          ...
         }
         ...
        }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2017-03-03
      • 2017-03-08
      • 2023-03-29
      • 2020-05-06
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 2017-01-07
      • 2023-03-10
      相关资源
      最近更新 更多