繁体   English   中英

WebRTC,JS,node.js应用程序通过远程服务器在本地运行,但没有不同的连接

[英]WebRTC, JS, node.js App working locally through remote server but not different connections

我最近开始研究浏览器之间的通信,并且对webRTC特别感兴趣。 我目前正在尝试通过具有此处提供的面向初学者的库通过数据通道构建文件传输:

我的应用程序在这里可见: https : //shirase-ttt.jit.su/Dropzone.html

它在删除文件时进行基本文件传输。 问题是,它可以在您自己的浏览器的2个标签之间运行(仅Chrome经过测试,但位置不同)。 但是,只要您在2个不同的Internet连接/位置之间尝试,它就会停止工作。 通道已建立,但未发送文件。 我不知道应该从哪里开始看,代码似乎很好,因为它可以在本地运行(测试自己,请参见下面的步骤),但是我发誓我没有记错,有人帮忙吗?

测试步骤:

  • 在浏览器的2个标签/ 2个浏览器上打开https://shirase-ttt.jit.su/Dropzone.html

  • Tab1创建一个频道名称,然后单击“连接”。

  • Tab2输入相同的频道名称,然后单击加入。

  • 几秒钟后,您应该在控制台中看到所有的频道信息。 从这一点开始,您可以在任何客户端的框中放置一个小文件,并通过第二个客户端的控制台下载该文件。 我使用的是〜100kb的图片,大约需要15秒才能达到dl。 令人印象深刻。

然后,我与一个朋友进行了远程测试。 建立通道后。 您看到正在发送文件,但是什么也没收到。

编码 :

客户端: https : //github.com/xShirase/RTC-Exploring/blob/master/Dropzone.html

服务器: https : //github.com/xShirase/RTC-Exploring/blob/master/ttt.js

在服务器上,只有1-34行是相关的,其余的则用于不同的工作。 是的,我尝试将其剥离。 不,它不会改变任何东西。

任何想法都欢迎。 谢谢。 我想这可能是托管问题,也许是https redir搞砸了? 老实说,我不知道。 这就是为什么我在这里写。

另外,我还有另一个要求。 目前,网络正在以多种方式发生革命。 我们有机会在曲线的开始处找到自己,在那里一切仍然要做,但已经做了很多工作来找点乐子。 因此,我想组建一支由一群人组成的团队,而不是专业人士,他们渴望学习尽可能多的知识,并竭尽所能,朝着正确的方向前进。 我个人的意思是:对套接字有很好的理解,良好的脚本编写能力,我想不够专业,还有很多想法。 我想探索webRTC,在其发展过程中正确地理解它,并参与其中。 我敢肯定我不是唯一的一个,所以对于任何有兴趣并且有相似动机的人,我们都可以通过小组合作更快地学习。 联络我。

免责声明:我不确定这篇文章的第二部分可能不在正确的网站中。 但这是可以看到的地方,而这正是我想要的。 不需要专业知识或任何形式的义务,只需编写代码,测试想法或类似的事情即可。 如果有人对此部分有疑问,请编辑,举报,拒绝投票,或者也许先聊聊;-)

谢谢。

这是NAT遍历问题。 DataChannel.js 使用了 ” STUN。 现在,此问题已修复,因为也使用了两个TURN服务器。 如果您仍然失败; 尝试使用“ 您自己的 ” TURN服务器。

STUN = {
    url: !moz ? 'stun:stun.l.google.com:19302' : 'stun:23.21.150.121'
};

TURN1 = {
    url: 'turn:73922577-1368147610@108.59.80.54',
    credential: 'b3f7d809d443a34b715945977907f80a'
};

TURN2 = {
    url: 'turn:webrtc%40live.com@numb.viagenie.ca',
    credential: 'muazkh'
};

iceServers = {
    iceServers: options.iceServers || [STUN]
};

if (!moz && !options.iceServers) {
    iceServers.iceServers[1] = TURN1;
    iceServers.iceServers[2] = TURN2;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM