我是WebRTC的新手 .

我需要为我的webrtc应用程序配置自己的转向服务器 .

我使用下面的命令安装了我的转弯服务器 .

apt-get install coturn

我只需要通过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

在这里,我设置了候选冰选择的最小端口和最大端口范围 .

在webrtc应用程序中,我配置了我的转服务器地址,如下所示 .

var configuration = {
                iceServers: [
                        {
                                url: "turn:13.126.11.252:9001?transport=tcp",
                                credential: 'sureshkumar',
                                username: 'sureshkumar'
                        }
                ]
        };

我遇到的问题是转弯服务器只接受一个连接 . 例如,客户端1和客户端2在对称NAT后面,它必须使用WebRTC进行视频聊天 . 为此,我使用了转弯服务器 .

转弯服务器一次只接受一个连接 . 我不知道为什么它不接受第二个连接 . 一旦它接受两个连接,那么只有他们能够使用转弯服务器相互通信 .

对我来说,提供的端口范围只有9000到9008.我在端口号9000中运行信令服务器,在9001中运行转向服务器以进行tcp监听 . 所有端口仅为TCP打开 . 它不支持UDP . 对于媒体路径通信,我也只能使用tcp .

我的问题是,

为什么我面临的问题是只有一个连接成功 Build 到转弯服务器?

要传输媒体路径,转弯服务器可以使用或不使用TCP . 如果没有,那么在webrtc客户端应用程序中配置?transport = tcp的用途是什么 .