2012-12-11 62 views
9

我們需要將數據發送到使用TFTP協議,這是一個簡單的類似FTP協議,工作在UDP我們的用戶的設備。我可以使用WebRTC打開UDP連接嗎?

既然我們不能用javascript打開一個UDP套接字,我們一直在使用我們的服務器作爲代理,將數據發送到我們的服務器,並打開從服務器到設備UDP連接。這有一個缺點,就是我們的用戶需要了解NAT並配置端口轉發。

所以,問題是,我們可以使用的WebRTC打開直接UDP套接字發送和瀏覽器和設備之間的接收?

http://www.webrtc.org/reference/webrtc-internals/vienetwork#TOC-SendUDPPacket建議我們可以通過套接字發送一些原始的UDP數據(也就是說,如果可以通過javascript訪問該層,我不確定這一點),但我看不到原始UDP響應。

任何幫助非常讚賞

+19

我應該告訴你我新的UDP笑話,但..你可能永遠不會得到它。 – jAndy

回答

12

沒有。太多的安全問題讓WebRTC發送到一個隨機的地址/端口 - 我們必須確保它不能作爲DDOS平臺工作,所以我們要求目標將ICE實現爲隱式權限發送數據,而且我們也不允許發送任意數據,只有數據通道中的SRTP媒體流和數據(通過基於UDP + ICE的DTLS上的SCTP)。

+2

爲什麼要擔心WebRTC中的DDOS?你不能通過無休止的創建圖像,提交表單,XHR和不是什麼?使用WebRTC防止DDOS有什麼特別之處?在webrtc郵件列表中發出消息後,消息之後的問題突出了能夠使用WebRTC將數據發送回服務器的強烈願望,而不僅僅是對等。我甚至不明白爲什麼點對點是首先開發的。能夠與另一個人進行語音聊天的用途有限。直接的問題是,我如何將另一個用戶添加到我的電話中?用一個MCU。不容易。 –

+0

可以使用與已存在的相同的同源策略或者原始域上的某個文件以Flash的方式限制回服務器webrtc。或CORS標題。 –

+0

分佈在網頁/廣告/代碼等可以作爲一個DDOS如果它可以發送任意大量的(填充的上游配管)連接到的IP地址。有關示例,請閱讀rtcweb安全考慮草案。網站可以更輕鬆地處理面向連接的DDOS攻擊,因爲它們可以控制接受連接(調整它們的速度等)。我會注意到這裏的請求是針對點對點原始UDP,這完全是另一回事,而不是你似乎要求的。 – jesup

3

不,你不能發送使用的WebRTC這樣原始的UDP數據。

的ViENetwork lib目錄下可以找到SendUDPPacket方法用於內部鍍鉻處理數據包傳輸時,Windows QoS支持和其他網絡設置,但你不必直接訪問它。

WebRTC的一個主要特性是Data Channel,它可以在兩個瀏覽器之間建立點對點連接,以允許交換原始數據。 在Chrome和Firefox中,這仍在構建中,您可以看到here

這可以是你正在尋找的,因爲你可以建立一個連接來發送原始數據,你只需要擔心找到一種方法來建立到其他端點的連接,如果這是你想要的。

+0

這是行不通的,因爲我們正在討論另一端(主要是Arduino)非常特殊的硬件,它只能通過TFTP進行通信。 Pitty雖然... – tzikis