2016-08-15 90 views
0

获取错误的ID未定义。 如果我使用0.peerjs.com它工作得很好。 这是客户端代码:Peer.JS自己的https服务器错误

var peer = new Peer({ 
     host: 'vchat247.hopto.org', 
     port: 9000, 
     path: '/peer/', 
     debug: 3, 
     config: { 
      'iceServers': [ 
       {url: 'stun:stun1.l.google.com:19302'}, 
       { 
        url: 'turn:numb.viagenie.ca', 
        credential: 'muazkh', username: '[email protected]' 
       } 
      ] 
     } 
    }); 

这里是我自己peer-server代码:

var fs = require('fs'); 
var PeerServer = require('peer').PeerServer; 

var server = PeerServer({ 
    port: 9000, 
    path: '/peer/', 
    ssl: { 
     key: fs.readFileSync('./myserver.key'), 
     certificate: fs.readFileSync('./vchat247.hopto.org.crt') 
    } 
}); 

这就是我得到: enter image description here

我在做什么错?

如果我使用此代码:

function randomString(length, chars) { 
     var result = ''; 
     for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)]; 
     return result; 
    } 
    var peer = new Peer(randomString(16, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), {host: 'vchat247.hopto.org', port: 9000, path: '/peer/'}); 

很显然,我得到一个ID,但经过一段时间,这是浏览器控制台结果:enter image description here 感谢提前:)

回答

0

我注意到你发送了一个wss请求,这将需要通过ajax或nginx进行proxy pass ed,以使它正常工作,因为它是一个安全的协议,你在做这个吗?此外,你如何启动peer.js服务器?它是否托管在同一个盒子上,你是否手动启动它(即:node server.js)或者是否使用init.d或upstart创建了某种服务?

此外,我beleive这样的:certificate: fs.readFileSync('./vchat247.hopto.org.crt')应该是这个cert: fs.readFileSync('./vchat247.hopto.org.crt')(虽然也许它同时接受)

Take a look at this references to help with setting up a proxy pass -