重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关使用Node.js怎么获取本机IP地址,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联公司成立10年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供成都网站设计、成都做网站、网站策划、网页设计、域名申请、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联公司通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。
--web 客户端JavaScript
function getYourIP() { const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (RTCPeerConnection) (function() { const rtc = new RTCPeerConnection({iceServers: []}); if (1 || window.mozRTCPeerConnection) { rtc.createDataChannel('', {reliable: false}); } rtc.onicecandidate = function(evt) { if (evt.candidate) grepSDP(`a=${evt.candidate.candidate}`); }; rtc.createOffer(function(offerDesc) { grepSDP(offerDesc.sdp); rtc.setLocalDescription(offerDesc); }, function(e) {console.warn('offer failed', e);}); const addrs = Object.create(null); addrs['0.0.0.0'] = false; function updateDisplay(newAddr) { if (newAddr in addrs) return; addrs[newAddr] = true; const displayAddrs = Object.keys(addrs).filter(function(k) {return addrs[k];}); for (let i = 0; i < displayAddrs.length; i++) { if (displayAddrs[i].length > 16) { displayAddrs.splice(i, 1); i--; } } console.info('您的IP: ', displayAddrs[0]); } function grepSDP(sdp) { sdp.split('\r\n').forEach(function(line, index, arr) { if (~line.indexOf('a=candidate')) { const parts = line.split(' '), addr = parts[4], type = parts[7]; if (type === 'host') updateDisplay(addr); } else if (~line.indexOf('c=')) { const parts = line.split(' '), addr = parts[2]; updateDisplay(addr); } }); } })(); else { console.warn('请使用主流浏览器:chrome,firefox,opera,safari'); } }
--web服务端Node.js
const os = require('os'); module.exports = { getLocalIP : function() { const eth0 = os.networkInterfaces().eth0; let localhost = null; for (let i = 0; i < eth0.length; i++) { if (eth0[i].family == 'IPv4') { localhost = eth0[i].address; } } return localhost; }, };
关于使用Node.js怎么获取本机IP地址就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。