标签: stun

Java UDP打孔示例 - 通过防火墙连接

可以说我有两台电脑.

他们通过相互了解公共和私人IP ice4j.

一个客户端正在侦听,另一个发送一些字符串.

我想通过UPD打孔来看到这种情况:

Let A be the client requesting the connection

Let B be the client that is responding to the request

Let S be the ice4j STUN server that they contact to initiate the connection
--
A sends a connection request to S

S responds with B's IP and port info, and sends A's IP and port info to B

A sends a UDP packet to B, which B's router firewall drops but it still
punches …
Run Code Online (Sandbox Code Playgroud)

java networking stun hole-punching

35
推荐指数
4
解决办法
2万
查看次数

STUN/TURN服务器连接测试

我试图弄清楚如何测试STUN/TURN服务器是否存活并正确响应连接.理想情况下,此测试将在外部机器上执行,以防万一STUN/TURN机器因此情况而停机,也应通过连接测试报告.

过去有没有人调查这个案子?建议采用什么解决方案?

stun webrtc turn

33
推荐指数
4
解决办法
5万
查看次数

为WebRTC应用程序实现我们自己的STUN/TURN服务器

我正在研究webrtc应用程序,必须实现以下TURN服务器.

https://code.google.com/p/rfc5766-turn-server/

我正在学习本教程.

http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx

它表示在创建RTCPeerConnection的javascript代码中如下引用TURN服务器.

var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"},
  {"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential":"my_password"}]};

pc_new = new webkitRTCPeerConnection(pc_config);
Run Code Online (Sandbox Code Playgroud)

我有点困惑,为什么我们引用谷歌的公共STUN服务器.我以为RFC5766 TURN服务器里面有STUN.

RFC5766只有TURN服务器吗?而不是STUN服务器?我们不能实现自己的STUN服务器,而不是使用谷歌提供的服务器吗?

抱歉这样天真的问题.我是WebRTC的新手.

谢谢.

stun webrtc rfc5766turnserver turn

27
推荐指数
2
解决办法
3万
查看次数

用于Java的STUN,TURN,ICE库

我需要在两个用户之间建立P2P UDP和TCP连接.他们都是NAT的背后.

一点研究让我想到了STUN,TURNICE.

除了jSTUN之外是否有任何Java解决方案(库),它似乎只能在UDP上运行.而TURN,ICE对于对称NAT问题要好得多.

java nat stun turn

21
推荐指数
3
解决办法
2万
查看次数

WebRTC - 我需要指定多少个STUN/TURN服务器?

我遇到的麻烦NAT traversalWebRTC.视频流可以与某些人合作,但与在学生宿舍路由器后面的人不同.

我认为这应该通过使用TURN服务器来解决.我已经这样做了,它仍然无法工作,现在我想知道TURN服务器是否正常工作.因此,我想知道我是否可以或应该设置多个TURN服务器,如果是,如何.

在另一个线程中找到了这个STUN/TURN服务器列表.现在我正在设置它们

var STUN = {
    'url': 'stun:stun.l.google.com:19302',
};

var TURN = {
    url: 'turn:homeo@turn.bistri.com:80',
    credential: 'homeo'
};

var iceServers = 
{
    iceServers: [STUN, TURN]
};

var pc = new RTCPeerConnection(iceServers);
Run Code Online (Sandbox Code Playgroud)

所以我的问题基本上是:是否可以设置几个STUN/TURN服务器?如果可能,我应该这样做,那代码会是什么样的?

javascript stun webrtc

21
推荐指数
3
解决办法
2万
查看次数

当我有一个基于socket.io的信令服务器时,是否对于webrtc绝对需要STUN服务器?

我对webrtc的STUN服务器的理解是,当客户端在NAT后面时(在大多数情况下,如果不是全部),STUN服务器将帮助webrtc客户端识别他们的地址和端口.我还读到一些文章说webrtc客户端需要一个信令服务器.信令服务器可以是web服务器,socket.io,甚至是通过电子邮件发送网址.我的第一个问题是:STUN服务器是信令服务器吗?

实际上现在我构建了一个非常简单的基于socket.io的服务,它将客户端的会话描述广播给所有其他客户端.所以我相信基于socket.io的服务器应该对客户端的地址和端口信息有足够的了解.如果是这种情况,为什么我们还要打扰另一台STUN服务器呢?

stun webrtc

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

为什么不"onicecandidate"工作?

我无法通过它的PeerConnection和'onicecandidate'事件了解webRTC.

据我所知,您必须使用STUN(或TURN)服务器启动对等连接,因为它会将您的ICE候选者发送给您,以便与另一个对等方进行通信.

我已经看到了将PeerConnection对象的服务器参数留下的示例,我也不明白,但我们只是说它需要服务器参数.

所以,当我写下以下代码时:

    var pc, ice = { "iceServers": [{ "url": "stun:stun.l.google.com:19302" }] };
if(typeof mozRTCPeerConnection === 'function') {

    pc = new mozRTCPeerConnection(ice);
}
else {
    console.log('google');
    pc = new webkitRTCPeerConnection(ice);
}


pc.onicecandidate  = function(event) { 
    console.log(event);
}
Run Code Online (Sandbox Code Playgroud)

我希望'onicecandidate'事件会触发,但它不起作用.我也尝试过其他公共STUN服务器,但没有任何反应.所以我认为我的理解可能有问题:)

javascript stun webrtc

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

什么是STUN stun.l.google.com:19302用于

我正在查看webrtc.htmlpeerconnection_server演示,它在两个Chrome浏览器之间正常工作.我的问题是,webkitPeerConnection的第一个参数究竟是什么?

pc = new webkitPeerConnection("STUN stun.l.google.com:19302", onSignalingMessage);
Run Code Online (Sandbox Code Playgroud)

它是Google为演示目的而提供的第三方STUN服务器吗?如果在我的JavaScript代码中,我替换"stun.l.google.com:19302""toto",我仍然可以进行视频通话.但是当我在同一个子网上时,这可以解释......

stun node.js webrtc

17
推荐指数
2
解决办法
3万
查看次数

WEBRTC STUN stun.l.google.com:19302

我刚刚下载了一个视频聊天项目.它使用STUN服务器并指定URL stun:23.21.150.121.如何使用自己的服务器而不是STUN服务器?我需要输入什么而不是此URL?

stun node.js webrtc

17
推荐指数
3
解决办法
4万
查看次数

为什么STUN服务器需要两个不同的公共IP地址

我已经看了一眼昏迷中的服务器设置的Openfire从那里,这样的说法:

"为了充当STUN服务器,需要在同一台机器上使用两个不同的公共IP地址,以及每个IP的两个不同的端口号."

我在google上进行了研究,一般来说,昏昏欲睡的服务器需要两个公共IP,原因是什么?

p2p protocols openfire stun

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