首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转-使用easyrtc的服务器不工作

转-使用easyrtc的服务器不工作
EN

Stack Overflow用户
提问于 2015-02-10 20:23:37
回答 1查看 4.2K关注 0票数 3

我在node.js中使用easyrtc。*:8080/demos/demos/demos_音频_视频_simple.html在同一网络上正确工作。但如果我尝试从两个不同的网络,我只得到一个黑色的屏幕。

经过一些研究,我发现,我需要一个转服务器,但它不工作。

代码语言:javascript
复制
// Load required modules
var http    = require("http");              // http server core module
var express = require("express");           // web framework external module
var io      = require("socket.io");         // web socket external module
var easyrtc = require("easyrtc");           // EasyRTC external module

// Setup and configure Express http server. Expect a subfolder called "static" to be the web root.
var httpApp = express();

    httpApp.use(express.static(__dirname + "/static/"));


// Start Express http server on port 8080
var webServer = http.createServer(httpApp).listen(8080);

// Start Socket.io so it attaches itself to Express server
var socketServer = io.listen(webServer, {"log level":3});

var myIceServers = [
  {"url":"stun:anyfirewall.com:3478"},
  {
    "url":"turn:anyfirewall.com:443",
    "username":"flex*****",
    "credential":"32M3KsE*****"
  },
  {
    "url":"turn:anyfirewall.com:443[?transport=tcp]",
    "username":"flex*****",
    "credential":"32M3Ks*****"
  }
];

easyrtc.setOption("appIceServers", myIceServers);

easyrtc.on("getIceConfig", function(connectionObj, callback){
  callback(null, myIceServers);
})


// Start EasyRTC server
var rtc = easyrtc.listen(httpApp, socketServer);

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-11 02:42:57

第一,

您是否设置了适当的转服务器?

我建议阅读这些内容,以便使用REST设置一个转服务器:

forums/f/71/t/10238.aspx

https://code.google.com/p/rfc5766-turn-server/wiki/turnserver

此外,如果您想为转身服务器指定TCP协议,则需要在代码中使用easyrtc (默认情况下UDP是首选协议)这样做:

代码语言:javascript
复制
var myIceServers = [
  {
    "url":"stun:anyfirewall.com:3478"
  },
  {
    "url":"turn:anyfirewall.com:443",
    "username":"flex*****",
    "credential":"32M3KsE*****"
  },
  {
    "url":"turn:anyfirewall.com:443?transport=tcp",
    "username":"flex*****",
    "credential":"32M3Ks*****"
  }
];

否则,您可以使用一些“香草”peerConnection JS创建您的webRTC:

代码语言:javascript
复制
var myIceServers = [
  {
    "urls":"stun:anyfirewall.com:3478"
  },
  {
    "url":"turn:anyfirewall.com:443?transport=udp",
    "username":"flex*****",
    "credential":"32M3KsE*****"
  },
  {
    "url":"turn:anyfirewall.com:443?transport=tcp",
    "username":"flex*****",
    "credential":"32M3Ks*****"
  }
];

我建议在REST中使用安装程序,如果您想限制不想要的用户使用您的回合服务器。除此之外,您的问题没有提供足够的信息来正确地解决您的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28441063

复制
相关文章

相似问题

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