我是 WebRTC 新手。
我需要为我的 webrtc 应用程序配置我自己的 Turn 服务器。
我使用以下命令安装了我的转弯服务器。
apt-get install coturn
Run Code Online (Sandbox Code Playgroud)
我只需要通过 tcp 运行转变服务器。它不必使用 UDP 进行任何媒体传输,也只需使用 TCP。
因此,我使用以下命令运行转弯服务器。
turnserver -n -a -v --no-udp --min-port 9002 --max-port 9008 --no-dtls -r "bksystems.org" --listening-port 9001 -X 13.126.11.252 -u sureshkumar:sureshkumar
Run Code Online (Sandbox Code Playgroud)
在此,我设置了冰候选选择的最小端口和最大端口范围。
在 webrtc 应用程序中,我配置了我的转弯服务器地址,如下所示。
var configuration = {
iceServers: [
{
url: "turn:13.126.11.252:9001?transport=tcp",
credential: 'sureshkumar',
username: 'sureshkumar'
}
]
};
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是轮流服务器只接受一个连接。例如,客户端 1 和客户端 2 位于对称 NAT 之后,它必须使用 WebRTC 进行视频聊天。为此,我使用了转弯服务器。
Turn 服务器一次仅接受一个连接。我不知道为什么它不接受第二个连接。一旦它接受两个连接,那么只有它们才能使用轮流服务器相互通信。
对我来说,提供的端口范围仅为 9000 到 9008。其中,我在端口号 9000 中运行信令服务器,在 9001 中运行转向服务器以进行 TCP 侦听。所有端口仅针对 TCP 开放。它不支持 …
我非常非常喜欢perl编程.
在阅读循环时,对于foreach循环,我有两个例子.
一个例子是,
foreach ('hickory','dickory','doc') {
print $_;
print "\n";
}
Run Code Online (Sandbox Code Playgroud)
输出: -
hickory
dickory
doc
Run Code Online (Sandbox Code Playgroud)
$ _变量包含每个项目.所以,它打印.
在另一个例子中,他们说没有在print语句中指定$ _变量.只有那里的空打印声明.它如何打印foreach参数.
foreach ('hickory','dickory','doc') {
print;
print "\n";
}
Run Code Online (Sandbox Code Playgroud)
输出: -
hickory
dickory
doc
Run Code Online (Sandbox Code Playgroud)
对于这也是相同的输出.它如何打印值.在那本书中,他们没有给出任何解释.我在互联网上搜索过.但我找不到任何东西.
如果你不放在1;包装的最后会发生什么?例如,如果我1;从以下脚本中删除,代码仍然运行:
#!/usr/bin/perl
package Foo;
print "Begin and Block Demo\n";
BEGIN {
print "This is BEGIN Block\n"
}
END {
print "This is END Block\n"
}
1;
Run Code Online (Sandbox Code Playgroud)
1;包创建是强制性的吗?我看到了这个问题,但它没有解释如果1;省略会发生什么.
我是WebRTC的新手。
我了解到转弯服务器。
下面的内容用于为Webrtc应用程序配置Turn Server在TCP上运行。
在webrtc应用程序中打开服务器配置示例:-
{
url: ‘turn:192.158.29.39:3478?transport=tcp’,
credential: ‘JZEOEt2V3Qb0y27GRntt2u2PAYA=’,
username: ‘28224511:1379330808?
}
Run Code Online (Sandbox Code Playgroud)
?transport = tcp的含义是它可以像他们所说的那样在TCP协议上工作。
我的问题是
轮流服务器基于TCP方式工作,它仅用于在其上基于TCP的轮流服务器之间建立连接,或者用于通过使用TCP协议的轮流服务器传输WebRTC媒体。TCP数据包用于哪个目的?
是否可以通过TCP数据包传输WebRTC媒体?