首页 文章

Chrome WebRTC over TCP

提问于
浏览
0

我正在尝试在TCP之间使用WebRTC媒体,但是我在ICE连接阶段遇到了一些有趣的问题 . 在进一步发展之前,重要的是要知道我有相同的UDP设置,一切正常 .

在网关中,我们修改远程应答SDP以包括单个TCP候选(媒体端口也被修改为包括相同的端口):

a=candidate:1 1 tcp 1 <gw_ip> <gw_port> typ host tcptype passive generation 0

我也将属性设置发送为被动:

a=setup:passive

在Chrome上应用远程描述后几秒钟,我在网关上收到一个STUN BIND请求,我正在回复绑定成功响应(我已经检查了交易ID和消息完整性,看起来很好) .

在此简单的chrome之后不会继续ICE检查(两者都不是DTLS消息) . 我已经启用了chrome日志,看看是否发生了一些错误,我发现了一个有趣的输出:

“忽略共享套接字上的STUN绑定响应消息”

我看了一下chrome源代码,看起来这是因为chrome正在使用共享套接字,但我无法理解它的原因 .

有任何想法吗?谢谢!

1 回答

  • 0

    经过深入调查后,我发现TCP流未在网关端正确解析 .

    特定于此流,使用未应用于入站/出站数据的长度框架机制,因此在流程管道上引发了若干问题 .

    有关框架机制的更多信息,请参阅rfc5389:https://tools.ietf.org/html/rfc5389

相关问题