JS获取客户端IP

253 阅读1分钟

存下可用的rtc获取本机ip

/** 获取客户端IP */
export function getIpAddress(): string[] {
  const set = new Set();
  //创建连接对象
  let servers = { iceServers: [{ urls: 'stun:localhost' }] };
  let pc = new RTCPeerConnection(servers);
  //错误回调和成功回调
  let successFunc = result => pc.setLocalDescription(result);

  //创建传输信道
  pc.createDataChannel('');
  //创建sdp对象
  pc.createOffer(successFunc, () => {});
  // 在监听中得到ip地址
  pc.onicecandidate = function (ice) {
    if (ice.candidate == null) return;
    else {
      set.add(ice.candidate.address);
    }
    console.log([...set]);
  };
}