WebRTC ICE candidate里面的raddr和rport表示什么?

381 阅读1分钟

` ​

举例如下:

a=candidate:1853887674 1 udp 1518280447 47.61.61.61 36768 typ srflx raddr 192.168.0.196 rport 36768 generation 0

解释:

raddr and rport are for debugging purpose. RFC 5245 - Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols  explains the purpose.

For serverreflexive candidates, raddr/rport allow you figuring out which local port (host candidate) is associated with this candidate. For relay candidates it will do the same, but for a serverreflexive candidate.

As pointed out before, the documentation shows that raddr probably stands for relative address and rport stands for relative port, ie. the local ip address and local port. Also, if the type is "relay", it means the connection is being made through a TURN server.

Full explanation at Understanding ICE in WebRTC - Temasys

翻译:

raddr和rport只是用于调试.RFC 5245 - Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols  做了解释.

对于srflx(server reflexive),raddr/rport允许你指出哪个本地端口(host candidate)是和该candidate关联的,对于relay candidates,他的作用是一样的,只是指出哪个server flexive candidate.

像上面所描述的那样,文档显示,raddr可能表示的是relative address(相关地址), rport表示的是relative port(相关端口),比如本地ip地址和本地端口.而且,如果类型是relay,它表示这个连接是通过TURN 服务器建立起来的,完整的解释参考:Understanding ICE in WebRTC - Temasys .

​ `