在整個(gè)音頻共享模塊中,UDP內(nèi)網(wǎng)穿透技術(shù)是實(shí)現(xiàn)多個(gè)不同內(nèi)網(wǎng)節(jié)點(diǎn)之間的UDP音頻流互相轉(zhuǎn)發(fā)的技術(shù)重點(diǎn)。音頻對(duì)講過(guò)程可分解為音頻壓縮、發(fā)送的輸出過(guò)程和音頻接收、解壓、播放的輸入過(guò)程。而多人音頻對(duì)講的過(guò)程實(shí)際上就是多個(gè)節(jié)點(diǎn)的系統(tǒng)中,兩兩節(jié)點(diǎn)之間的音頻流收發(fā)過(guò)程。在這里無(wú)法直接處理的環(huán)節(jié)是每個(gè)參與音頻對(duì)講的節(jié)點(diǎn)作為服務(wù)器端接收其他節(jié)點(diǎn)發(fā)送過(guò)來(lái)的音頻流數(shù)據(jù)的輸入過(guò)程,因?yàn)榇蟛糠謪⑴c者都沒(méi)有自己的公網(wǎng)IP,這樣的內(nèi)網(wǎng)節(jié)點(diǎn)直接在本地啟動(dòng)一個(gè)接收音頻流的服務(wù)器線程,不在同一內(nèi)網(wǎng)之內(nèi)的其他節(jié)點(diǎn)無(wú)法直接連接到這個(gè)服務(wù)器。雖然可以通過(guò)在每個(gè)局域網(wǎng)和公網(wǎng)之間的路由器上添加端口映射將內(nèi)網(wǎng)服務(wù)端口呈現(xiàn)在公網(wǎng)上,但這樣做涉及到要修改每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的路由器配的置以及權(quán)限等問(wèn)題,不是理想可用的實(shí)現(xiàn)方法。使用UDP內(nèi)網(wǎng)穿透技術(shù),可以使一個(gè)普通的內(nèi)網(wǎng)節(jié)點(diǎn)在需要時(shí)將自己的服務(wù)器端口自動(dòng)的呈現(xiàn)在公網(wǎng)上,并且能夠讓系統(tǒng)內(nèi)其他節(jié)點(diǎn)正確獲取這個(gè)音頻接收服務(wù)器的地址,以便其他節(jié)點(diǎn)能夠?qū)⒆约旱囊纛l流發(fā)送到這個(gè)音頻接收端口。