我有一个简单的web应用程序,
- Client1登录,套接字连接到signal.php
- Client2登录,套接字连接再次连接到signal.php
- Client2通过signal.php向client1发送报价
- 客户端1向客户端2发送answe
- 冰念珠菌交换
因此,当远程系统的windows防火墙关闭时,这很好,但当防火墙打开时,在收集到候选ice后,ice连接失败。
我使用的是xirsys转/特技服务器。我试图找到一种方法来确保我的应用程序即使在防火墙打开的情况下也能运行。我看到了其他不会被防火墙阻止的webrtc示例。我在这里错过了什么?????
更新
做了更多的测试,结果如下
在进行连接的客户端上,防火墙是打开还是关闭都无关紧要。如果Firwall是On,谁将获得Offer,则连接将失败
示例:假设客户1正在报价,而客户2正在接收报价。如果客户端2已打开防火墙,则连接失败。如果防火墙关闭,则重新发布连接。客户端1的防火墙是打开还是关闭并不重要。如果客户端1和2在同一台计算机上,则连接总是成功的。
您需要将应用程序使用的TURN服务器类型(不工作(与工作的进行比较。chrome://webrtc-internals显示了服务器。
- 您使用TURN/TCP和TURN/TLS吗
- TURN服务器在哪些端口上运行
- 对于工作服务,使用哪种连接(请参阅此处了解如何确定(
在某些情况下,连接会失败。你的用户体验也需要处理这些问题。