问题标签 [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.
p2p - 在 STUN 的情况下,test1、test2 和 test3 是什么?
在 STUN 的情况下,我不了解三个测试的重要性?STUN 服务器用于了解外部端口和 IP 地址,为什么要三个请求?
谢谢
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。
udp - UDP格式错误的数据包
我将 C# 程序用于客户端 UDP 应用程序。应用程序侦听连接,然后进行通信。
我使用 Wireshark 来调试应用程序。问题是,一段时间后我的应用程序开始发送格式错误的 STUN 数据包,我认为因此它们被互联网上的路由器拒绝。
问题:是否可以防止发送格式错误的 UDP/STUN 数据包?
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#。
php - PHP 中有任何 STUN/TURN/ICE 客户端库吗?
我正在尝试在部署在不同网络(都在 NAT 之后)的机器上的两个 PHP 守护程序之间建立 P2P。我在 Google 上使用 PHP 搜索了 NAT 遍历,似乎他们在 PHP 中没有现有的解决方案。
有谁知道使用 PHP 解决这个问题的解决方案/库?
iphone - 适用于 iOS iPhone 的 ICE、STUN、TURN 库
我需要在两个用户之间建立 P2P UDP 和 TCP 连接。它们都在 NAT 后面。一点点研究让我了解了 STUN、TURN 和 ICE。
是否有任何支持相同的开源iOS(库)?
iPhone 中的 FaceTime 也使用 ICE、STUN、TURN 到 NAT 遍历,那么 iOS SDK 是否公开了这些 API?
我在 resiprocate 源代码 (www.resiprocate.org) 中找到了 nICRr 代码,我可以在 Mac OS X 上测试 STUN 部分。有没有人尝试在 iOS 4.0 或更高版本上使用相同的?
谢谢,罗德尼
java - Java 和我应该使用哪些 Stun 库?
Java,我试图编写自己的 STUN 客户端,但似乎我犯了错误,因此,大部分时间它都被冻结了。所以我想知道哪些 STUN 客户端库可用于 Java,以便开始使用。
跟进:(同时尝试跟进,仍然没有解决 NAT/防火墙后面的问题)
第 1 步:眩晕类:http ://babbly.googlecode.com/svn/trunk/src/org/babbly/core/net/InetAddresResolver.java
第 2 步:使用它
第 3 步:结果
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。
node.js - JSTUN vs PJNATH
我将用 JavaScript(使用 NodeJS 的服务器端)编写我自己的 STUN 实现,并且我正在寻找一个库来作为我的代码的基础。
我找到了 JSTUN 和 PJNATH,它们似乎都得到了 stackoverflow 成员的支持。我下载了两者的源代码,PJNATH 大约有 15,000 行代码,而 JSTUN 不到 3000 行。
一个库是否比另一个更完整?
我需要服务器和客户端组件,并且我希望功能尽可能完整,因为我不想实现 TURN(过于硬件密集型)。
我应该看一个更好的图书馆吗?最终我想制作一个完全兼容 ICE 的解决方案,但现在 STUN 就足够了。