2020-03-31 獲取本機(jī)ip

mounted()?{

????this.getUserIP(ip?=>?{

//data定義ip ,獲取本機(jī)ip

??????this.ip=?ip;

????});

??},



methods:{

//?獲取本機(jī)ip

????getUserIP(onNewIP)?{

??????let?MyPeerConnection?=

????????window.RTCPeerConnection?||

????????window.mozRTCPeerConnection?||

????????window.webkitRTCPeerConnection;

??????let?pc?=?new?MyPeerConnection({

????????iceServers:?[]

??????});

??????let?noop?=?()?=>?{};

??????let?localIPs?=?{};

??????let?ipRegex?=?/([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g;

??????let?iterateIP?=?ip?=>?{

????????if?(!localIPs[ip])?onNewIP(ip);

????????localIPs[ip]?=?true;

??????};

??????pc.createDataChannel("");

??????pc.createOffer()

????????.then(sdp?=>?{

??????????sdp.sdp.split("\n").forEach(function(line)?{

????????????if?(line.indexOf("candidate")?<?0)?return;

????????????line.match(ipRegex).forEach(iterateIP);

??????????});

??????????pc.setLocalDescription(sdp,?noop,?noop);

????????})

????????.catch(reason?=>?{});

??????pc.onicecandidate?=?ice?=>?{

????????if?(

??????????!ice?||

??????????!ice.candidate?||

??????????!ice.candidate.candidate?||

??????????!ice.candidate.candidate.match(ipRegex)

????????)

??????????return;

????????ice.candidate.candidate.match(ipRegex).forEach(iterateIP);

??????};

????},

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容