【问题标题】:How modify ice4j LocalCandidate如何修改ice4j LocalCandidate
【发布时间】:2015-03-14 12:07:38
【问题描述】:

我在我的服务器应用程序中使用 libjitsi / ice4j 并且想在调用 Agent.startConnectivityEstablishment() 之前修改我的本地候选人,有没有办法修改优先级或任何其他属性以强制一位候选人优先于另一位候选人?例如,我最终得到了这些本地候选人:

default candidate: candidate:1 1 udp 2130706431 192.168.122.15 5000 typ host
candidate:1 1 udp 2130706431 192.168.122.15 5000 typ host
candidate:2 1 udp 1694498815 24.234.1.1 5000 typ srflx raddr 192.168.122.15 rport 5000

我需要选择 srflx 候选而不是 host 候选,因为它使用私有网络地址并且无法从网络外部访问。

这两个库都没有很好地记录,并且似乎缺少对相关对象的修改器,因此我们将不胜感激。

【问题讨论】:

    标签: java jitsi ice4j


    【解决方案1】:

    您是否发现正在使用 srflx 而不是主机?我只能想象 ICE4J 会在可行的情况下选择主机。我注意到我的检查并在主机上失败,否则它会选择它。不过我可以再检查一次。

    您可以查看本教程,看看是否有帮助:stellarbuild.com/blog/article/ice4j-networking-tutorial-part-1

    说实话,如果你使用 SDP 修改会更容易,因为你可以手动尝试一些字符串比较的技巧,但这是有风险的。也许两个本地网络都使用 192.168.1.* 但位于不同的网络上。因此,假设 srflx 相同并且本地主机字符串开始相同,您可以删除 srflx 并强制它尝试主机。

    我会仔细检查,但我认为它会自动优先考虑主机。

    【讨论】:

    • 我最初使用的是 SDP,但已切换到滴流,所以当然不再有候选条目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 2017-07-19
    • 2012-01-24
    • 2014-10-20
    相关资源
    最近更新 更多