簡體   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