问题标签 [ice4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1421 浏览

java - Ice4j:代理完成处理后该怎么办?

我正在尝试在一个简单的应用程序中使用 ice4j,但是一旦冰代理完成处理,我不知道该怎么做。应用程序实际上可以写入 IceMediaStream 吗?如果没有,我如何收集信息以创建可以写入的流?ice4j 的文档很少,通读 JUnit 测试也无济于事。

0 投票
1 回答
240 浏览

java - Ice4j 源代码中的错误:重复方法

我正在尝试将 Ice4j 导出到一个 jar 文件以在我的项目中使用,但是出现了一个错误,我不知道如何修复它,因为我以前从未见过它,而且谷歌对此知之甚少。我直接从 svn 复制了文件,没有进行任何编辑,所以我将在下面发布源代码。

代码如下:

完整文件在这里:https ://code.google.com/p/ice4j/source/browse/trunk/src/org/ice4j/ice/harvest/CandidateHarvesterSet.java

0 投票
1 回答
245 浏览

java - Ice4j:测试 IcePseudoTcp - 需要 STUN 服务器吗?

有谁知道测试 IcePseduoTcp 的过程?它是自包含的,还是必须将其指向 STUN 服务器才能工作?

0 投票
1 回答
339 浏览

java - Ice4j:查找远程代理

我正在尝试使用 Ice4j,但没有任何教程。我试过查看源代码,但一切都在其他地方,没有任何解释。

我已经阅读了 IcePseduTcp 测试,我想实现自己的测试,但问题是测试同时创建本地和远程代理,然后让它们相互交互。如何将两者分开,让我有两个程序,一个作为本地控制代理,另一个作为远程代理,然后让本地代理发现远程代理?

该功能Ice.transferRemoteCandidates使用两个代理,但我如何使用第一个代理找到另一个代理?

0 投票
1 回答
827 浏览

java - Ice4J:4G 网络上的 Ice State 失败

有谁知道如何做 Ice4j 的 TURN 部分?我已经设法对其进行了编码,以便它在手机使用 WiFi 时工作,但在移动网络上时不能工作。

我通过 TCP 发送代理信息,然后手动建立连接,而不是使用信令过程。TCP 连接已经工作正常,所以我认为不是 TCP 问题。也许我构建代理错误?

我知道如果 STUN 不起作用,您应该使用 TURN 服务器,并且我提供了大量公共 TURN 服务器,但我可能会遗漏一些东西。也许数据包没有正确发送?

错误:(通常无法发送 ALLOCATE-REQUEST(0X3))

脚本(服务器端和客户端都有类似的代码):

0 投票
1 回答
217 浏览

java - 如何修改ice4j LocalCandidate

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

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

这两个库都没有很好地记录,并且似乎有问题的对象缺乏变异器,所以任何帮助都将不胜感激。

0 投票
0 回答
324 浏览

java - ICE4J 只获取本地 IP

我可以通过本地 Intranet 很好地连接它,但问题当然不在我的路由器之外,我遇到了问题。我不认为我在列表中看到公共 IP 地址是问题所在。

https://github.com/opentelecoms-org/ice4j/blob/master/test/test/SdpUtils.java生成的 SDP信息我的SDP信息如下(本地10.0.0.2):

我的代码每个流我都添加了一个收割机(不确定这是否正确):

有什么想法吗?为什么我只能获得本地 IP 地址?

0 投票
2 回答
289 浏览

java - ICE4J DatagramPacket 太小

常规 DatagramSocket 工作正常... ICE4J DatagramSocket 似乎截断数据!?

发送大小的数据包为 2,500,但接收端始终为 1500(使用常规 Java DatagramSocket,接收数据包大小与发送大小相同)。

接收结束:

在一个线程中:

发送端几乎相同,只是它在 Android 上运行......

非工作代码之间的唯一区别是第一段用于发送和接收。如果我使用普通的 Java Socket,它会工作(但当然不是在路由器后面,这就是我使用 Ice4J 的原因)。

0 投票
1 回答
277 浏览

nat - 互联网上的ice4j连接

我下载了 ice4j 并在互联网上的两台机器上尝试 Icedistributed 示例(https://github.com/jitsi/ice4j/blob/master/src/test/java/test/IceDistributed.java )。如果我在局域网中的两台不同的机器上运行这个例子,这个例子可以工作,但不知何故它不能在互联网上工作。

下面是日志

我无法理解原因,因为如果我看到日志,它会以某种方式显示公共 IP 地址及其绑定端口,但不知何故,与该 sdp 信息的连接不成功。任何帮助将不胜感激...

0 投票
1 回答
2156 浏览

java - 如何使用 Stun 和 ice4j 接收公共 IP 和端口

我会尽量简短。

我希望在不通过服务器的情况下创建 2 个 java 应用程序(稍后将被传输到 android)之间的通信。因此,我花了数周时间环顾四周,经过大量工作,我发现了 stun 和 ice4j。我在这里找到了关于如何使用 ice4j 的最佳解释,它几乎向我展示了将 stun 服务器添加到代理需要做什么(我真的不知道代理是什么,只是它管理我与 STUN 的通信和转),通过此代码:

但是,在此之后,本教程使用我在githubSDPUtils上找到的 ice4j 源代码中的一个类来从代理接收 SDP 信息。但是,我从 中央 maven 存储库获得了 ice4j.jar ,并将其添加到我的 netbeans 常规项目中(我这样做是因为我对 maven 不是很熟悉,只是想在我的常规项目中添加一个常规库)。这个 jar 库没有这个类,由于我对这段代码的理解不够,无法自己修复它,我想知道你们中的任何人是否可以帮助我修复上面的代码,或者向我展示如何修复的示例回答标题上的问题。SDPUtils

但是,除非您可以按照我在上一句中所说的去做,或者给我一些示例代码,否则您的帮助很可能没有用,因为我在精神上无法完全理解这背后的理论,因为我有很多概念不知道。

我要等到本周末才能解决这个问题,如果我不这样做,我就完蛋了。因此,如果您可以或知道有人可以提供帮助,我将不胜感激。

感谢您到目前为止阅读并尝试提供帮助:)