2016-08-15 121 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 -