标签: stun

用于TCP流的STUN服务器

我正在为TCP流寻找可靠的STUN解决方案。我曾尝试过STUNT(美国康奈尔大学)和XSTUNT(美国台湾大学)。但是它们看上去既旧又无用。

我要做的是通过C#在两个不同网络中的两个客户端之间传输文件。如果您有以下两种解决方案,请告诉我:1-针对C#的基于UDP的客户端/服务器解决方案2-任何基于TCP的STUN服务器

c# tcp flow stun

2
推荐指数
1
解决办法
4751
查看次数

如何通过wireshark中的消息事务ID过滤STUN数据包

我正在使用Wireshark网络协议分析器1.12.2(Os:Windows).是否可以使用此软件从tcpdump过滤消息事务ID的stun数据包?提前致谢.

tcpdump wireshark stun

2
推荐指数
1
解决办法
1839
查看次数

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

我会尽量简短。

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

import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.ice4j.Transport;
import org.ice4j.TransportAddress;
import org.ice4j.ice.Agent;
import org.ice4j.ice.IceMediaStream;
import org.ice4j.ice.harvest.StunCandidateHarvester;

public class ice4jTesting {

    public static void main(String[] args) {

        Agent agent = new Agent();
        String[] hostnames = new String[] {"jitsi.org", "numb.viagenie.ca", "stun.ekiga.net"};

        for(String hostname: hostnames) {
            try {
                TransportAddress address;

                address = new TransportAddress(InetAddress.getByName(hostname), 3478, Transport.UDP);
                agent.addCandidateHarvester(new StunCandidateHarvester(address));
            } catch (UnknownHostException ex) {
                Logger.getLogger(SimpleStun.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        IceMediaStream stream = agent.createMediaStream("audio"); …
Run Code Online (Sandbox Code Playgroud)

java stun ice4j

1
推荐指数
1
解决办法
2774
查看次数

STUN 服务器真的有必要吗?

在 WebRTC 信令过程中,我必须通过向 STUN 服务器发出请求来找到我自己的公共 IP 地址和端口。但它真的需要这么复杂吗?

难道我不能只向子网的路由器发送请求并获取其 IP 地址和它为我打开的端口吗?或者更好的是,我直接将我的公共地址存储在我的计算机中,每当它发生变化时路由器都会通知我。浏览器会提供一个API来直接获取这个公共地址。无需使用 STUN 服务器。我们为什么不这样做呢?

感谢您的帮助。

nat stun webrtc

1
推荐指数
1
解决办法
1523
查看次数

WebRTC 和身份验证实现

好的,最近我需要使用 WebRTC 创建一个用于视频语音等的应用程序。

因此,在查看了一些库之后,我发现 SimpleWebRTC 看起来非常漂亮:https : //github.com/andyet/SimpleWebRTC

所以我感兴趣的是如何实现 STUN/TURN 服务器?(如果有人能用简单的英语解释差异,那就太好了!)而且还有身份验证机制。目前,我的应用程序联系我的数据库并登录用户等,但 stun and turn 服务器将是私有的,并且不以任何方式参与身份验证过程。

所以基本上:

  • 什么是实现 STUN/TURN 的最佳方式
  • 有什么认证机制吗?

请注意,这是针对混合应用程序的,因此我将为此使用 JavaScript/AngularJS。我选择 SimpleWebRTC 的主要原因。

谢谢!

stun webrtc angularjs turn simplewebrtc

0
推荐指数
1
解决办法
1915
查看次数

AZURE VM (Ubuntu Server 16.04 LTS) 上的 Coturn WebRTC 问题

我使用 webRTC 来建立与其他浏览器的网络浏览器实时通信。为了确保此连接始终可靠,我想设置自己的 STUN/TURN 服务器。我决定在 Azure VM(Ubuntu 服务器)上使用 coturn。我按照此文档在 Azure https://www.microsoft.com/developerblog/2018/01/29/orchestrating-turn-servers-cloud-deployment/上设置了 coturn 。

根据 [Trickele ICE][1] [1]: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/我的 STUN 服务器工作,我得到了积极的结果。

每当我尝试使用 STUN/TURN 服务器建立网络摄像头连接时,它都不起作用。

webRTC协议会话统计:

Local SDP
v=0
o=mozilla...THIS_IS_SDPARTA-58.0.2 8794114299540424628 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 8B:A5:5A:36:D7:42:B0:DE:D8:FB:3B:AC:7A:41:AE:D1:F2:86:71:66:CB:99:79:54:08:9B:B2:97:DC:54:D7:E6
a=group:BUNDLE sdparta_0 sdparta_1
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 52254 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 192.168.9.1
a=candidate:0 1 UDP 2122252543 192.168.9.1 52254 typ host
a=candidate:1 1 UDP 2122187007 192.168.67.1 52255 typ host
a=candidate:2 1 UDP 2122121471 192.168.1.151 52256 …
Run Code Online (Sandbox Code Playgroud)

azure stun webrtc turn coturn

0
推荐指数
1
解决办法
2778
查看次数

标签 统计

stun ×6

webrtc ×3

turn ×2

angularjs ×1

azure ×1

c# ×1

coturn ×1

flow ×1

ice4j ×1

java ×1

nat ×1

simplewebrtc ×1

tcp ×1

tcpdump ×1

wireshark ×1