首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >https://127.0.0.1:9000/peerjs/peerjs/id?ts=14993271469660.591159722513086 net::ERR_CONNECTION_REFUSED

https://127.0.0.1:9000/peerjs/peerjs/id?ts=14993271469660.591159722513086 net::ERR_CONNECTION_REFUSED
EN

Stack Overflow用户
提问于 2017-07-06 08:11:02
回答 3查看 5.7K关注 0票数 6

我使用javascript的webRTC库构建了一个简单的视频聊天应用程序。现在,我正试图在zeit.co上部署这个站点。但是,当创建peerjs实例时,我得到了一个错误,下面是我提到的运行服务器的端口和主机的代码。

服务器端代码

代码语言:javascript
复制
const express = require('express')
const app = express()
const path = require('path')
const server = require('http').createServer(app)
const io = require('socket.io').listen(server)

const srv = server.listen(3000)

app.use('/peerjs', require('peer').ExpressPeerServer(srv, {
    debug: true
}))

const users = []
const connections = []

server.listen(3000, () => {
  console.log('server running')
})

app.use(express.static(path.join(__dirname, 'public')))

app.get('/', (req, res) => {

})

客户端代码

代码语言:javascript
复制
const peerObj = {
  host: '127.0.0.1',
  path: '/peerjs',
  debug: 3,
  config: {icerServers: [
    { url: 'stun:stun1.l.google.com:19302' },
    { url: 'turn:numb.viagenie.ca',
      credential: 'muazkh',
      username: 'webrtc@live.com' }
  ]}
}

peer = new Peer(peerObj)
  • 列表项目
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-09 13:16:01

我已经为我的问题找到了解决办法。实际上,对等服务器在http上运行,为了使它在https上运行,我们必须生成一个ssl密钥和证书。即使在生成密钥和证书之后,它也只能在本地主机和连接到该网络的系统上运行。

heroku上有一个对等服务器,所以它运行在https上,而不是运行您自己的对等服务器,我们可以提到heroku对等服务器的路径,然后在一些托管网站上托管应用程序,应用程序将正常运行。下面是我的新客户端代码

代码语言:javascript
复制
peer = new Peer({host:'peerjs-server.herokuapp.com', secure:true, port:443})

这个程序会正常运行。

票数 9
EN

Stack Overflow用户

发布于 2017-07-06 08:58:27

PeerJS的默认端口是9000,这也是错误的提示:它试图连接到127.0.0.1的端口9000,但是您的服务器运行在端口3000上。

尝试显式地添加端口号:

代码语言:javascript
复制
const peerObj = {
  host : '127.0.0.1',
  port : 3000,
  ...
}

您还可能需要设置secure : false,因为您的服务器不支持TLS。

票数 0
EN

Stack Overflow用户

发布于 2020-08-22 22:06:53

嗨,如果你不想像Aish说的那样依赖herokuapp

您可以在终端机上运行:

代码语言:javascript
复制
npm install peer

然后添加你的server.js:‘

代码语言:javascript
复制
 //Peer server
    var privateKey  = fs.readFileSync('sslcert/server.key', 'utf8');
    var certificate = fs.readFileSync('sslcert/server.crt', 'utf8');

  const { PeerServer } = require('peer');
  const peerServer = PeerServer({ port: 443, 
                                path: '/' ,
                                ssl: {
                                    key: privateKey,
                                    cert: certificate
                                  }
                            
                            });

‘HTTPS需要私钥和证书。确保将它们放在获取它们的路径上。确保在客户端(运行在index.html上的脚本)上有:

代码语言:javascript
复制
myPeer = new Peer({host:'/', 
                  secure:true,
                   port:443,
                path: '/'})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44943254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档