问题标签 [stun]

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 投票
1 回答
701 浏览

p2p - 在 STUN 的情况下,test1、test2 和 test3 是什么?

在 STUN 的情况下,我不了解三个测试的重要性?STUN 服务器用于了解外部端口和 IP 地址,为什么要三个请求?

谢谢

0 投票
2 回答
891 浏览

unit-testing - 测试 TLV 协议

我需要测试 STUN 协议。是否有任何框架来测试此协议?任何其他测试基于 TLV 的协议的测试协议框架也会有所帮助。

提前致谢。

更新:添加更多细节。

STUN - rfc5389(连同 ICE - draft-ietf-mmusic-ice-19 )是用于 NAT 遍历的 IETF 协议。STUN 和 ICE 协议使用 TLV 格式来定义/编码主体。TLV 代表 Type-Length-Value,广泛用于多种协议。有关 TLV 的更多信息,请点击此处 - http://en.wikipedia.org/wiki/Type-length-value

0 投票
3 回答
16250 浏览

java - 用于 Java 的 STUN、TURN、ICE 库

我需要在两个用户之间建立 P2P UDP 和 TCP 连接。它们都在 NAT 后面。

一点点研究让我了解了STUNTURNICE

除了似乎只适用于 UDP 的jSTUN之外,是否有任何 Java 解决方案(库) 。反过来,ICE 对对称 NAT 问题的处理要好得多。

0 投票
1 回答
4822 浏览

udp - UDP格式错误的数据包

我将 C# 程序用于客户端 UDP 应用程序。应用程序侦听连接,然后进行通信。

我使用 Wireshark 来调试应用程序。问题是,一段时间后我的应用程序开始发送格式错误的 STUN 数据包,我认为因此它们被互联网上的路由器拒绝。

问题:是否可以防止发送格式错误的 UDP/STUN 数据包?

0 投票
1 回答
676 浏览

c# - 建立代理连接(NAT 后面的客户端/服务器)

我想让代理服务器在 NAT 后面运行。(好的,我可以在路由器中配置端口转发,但我想要它立即!)。

所以假设 A 想使用 Bs 运行代理服务器。A / B 位于带有 NAT 的路由器后面。所以现在怎么办?A 呼叫服务器 S 让他知道他想要一个到 B 的代理连接,而 B 已经告诉 S 他已准备好连接。所以 S 以某种方式交换 IP / 端口,以便 A / B 可以发送 UDP 包以获得连接(打孔)。

我到现在了吗?

我已经阅读了 STUN(http://www.codeproject.com/KB/cs/STUN_client.aspx),但是我的后台 IP / 端口对我有什么帮助!?A / B是否需要完全交换来自STUN服务器的那些并通过这个端口打一个UPD孔!?我不这么认为。

我真的会非常感谢帮助我!因为我的研究,因为这需要很长时间。我花了 30 多小时来获取信息,但至少没有想出一个主意!

真正需要其他/更好的解决方案:)请帮助我。首选语言 C#。

0 投票
1 回答
3134 浏览

php - PHP 中有任何 STUN/TURN/ICE 客户端库吗?

我正在尝试在部署在不同网络(都在 NAT 之后)的机器上的两个 PHP 守护程序之间建立 P2P。我在 Google 上使用 PHP 搜索了 NAT 遍历,似乎他们在 PHP 中没有现有的解决方案。

有谁知道使用 PHP 解决这个问题的解决方案/库?

0 投票
3 回答
4258 浏览

iphone - 适用于 iOS iPhone 的 ICE、STUN、TURN 库

我需要在两个用户之间建立 P2P UDP 和 TCP 连接。它们都在 NAT 后面。一点点研究让我了解了 STUN、TURN 和 ICE。

  1. 是否有任何支持相同的开源iOS(库)?

  2. iPhone 中的 FaceTime 也使用 ICE、STUN、TURN 到 NAT 遍历,那么 iOS SDK 是否公开了这些 API?

  3. 我在 resiprocate 源代码 (www.resiprocate.org) 中找到了 nICRr 代码,我可以在 Mac OS X 上测试 STUN 部分。有没有人尝试在 iOS 4.0 或更高版本上使用相同的?

谢谢,罗德尼

0 投票
1 回答
8538 浏览

java - Java 和我应该使用哪些 Stun 库?

Java,我试图编写自己的 STUN 客户端,但似乎我犯了错误,因此,大部分时间它都被冻结了。所以我想知道哪些 STUN 客户端库可用于 Java,以便开始使用。

跟进:(同时尝试跟进,仍然没有解决 NAT/防火墙后面的问题)

第 1 步:眩晕类:http ://babbly.googlecode.com/svn/trunk/src/org/babbly/core/net/InetAddresResolver.java

第 2 步:使用它

第 3 步:结果

0 投票
1 回答
2669 浏览

android - Android 2.3 SIP API 如何处理 NAT?

一段时间以来,我一直在使用 Android 2.3 SDK 中的 SipDemo。

Android 开发者页面上的文档写得很好,但不是很多。它没有解释任何有关 IP、端口、NAT 和 STUN 的内容。我知道这些东西应该如何工作,但它没有说明 Android 的 SIP API 是如何处理它的。或者它是否处理 NAT...

在这里,有人提到API确实对公共IP和端口进行了一些测试,但这是我第一次阅读它: http ://code.google.com/p/android/issues/detail?id=14043&can=1&q= sip%20ip&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars 所以我不确定这是不是真的。至少对我来说,它没有用。

但现在我的问题是:当我将 SipDemo 按原样部署到连接到 WiFi 的设备或模拟器时,提供我的凭据(我知道它们与 SipDroid 和其他 SIP 应用程序一起使用),SipDemo 显示“注册失败”。我做了一些嗅探,发现发送到 SipServer 的数据包都包括设备或模拟器本地 IP,而不是我的 NAT 的公共 IP。类似 Via: SIP/2.0/UDP 192.168.0.106:53230 服务器正确回复不允许使用 RFC1918 IP。

我在 SipDemo 中添加了 STUN 测试并成功检索了我的公共 IP 和端口。但我找不到如何将它传递给我创建的 SipProfile 或 SipManager 的方法。

我的问题:有没有人在 NAT 后面使用 SIP API 制作过应用程序?API 如何处理 NAT?如何将我从自己的 STUN 客户端获得的信息传递给 SIP API?

我知道 SipDroid 和许多其他 SIP 实现,但它们都不使用内置 API。

0 投票
1 回答
1527 浏览

node.js - JSTUN vs PJNATH

我将用 JavaScript(使用 NodeJS 的服务器端)编写我自己的 STUN 实现,并且我正在寻找一个库来作为我的代码的基础。

我找到了 JSTUN 和 PJNATH,它们似乎都得到了 stackoverflow 成员的支持。我下载了两者的源代码,PJNATH 大约有 15,000 行代码,而 JSTUN 不到 3000 行。

一个库是否比另一个更完整?

我需要服务器和客户端组件,并且我希望功能尽可能完整,因为我不想实现 TURN(过于硬件密集型)。

我应该看一个更好的图书馆吗?最终我想制作一个完全兼容 ICE 的解决方案,但现在 STUN 就足够了。