Ionic 离子/电容器:局域网上的检测装置

qoefvg9y  于 2023-02-27  发布在  Ionic
关注(0)|答案(1)|浏览(144)

我正在寻找一种方法来找到电视的IP地址连接到相同的WIFI网络作为手机,这样我就可以向它提出一些请求.
我正在尝试为我的电视(索尼Bravia)建立一个远程控制应用程序,我让应用程序在浏览器中运行和工作。不过,我想自动查找IP地址,这样我就不必手动查找IP,有没有办法用离子/电容器做这样的事情?

1aaf6o9v

1aaf6o9v1#

目前,我解决这个问题的方法是使用Cordova plugin @awesome-cordova-plugins/network-interface来获取手机的本地IP地址,然后在网络的其余部分循环查找响应

const urls = (ip: string) => {
      const result = [];
      // we send in ip (192.168.1.1) then we remove last digit for search
      const prep_base_url = "http://" + ip.split(".").slice(0, -1).join(".") + ".";
      for (let i = 0; i < 255; i++) {
        result.push(prep_base_url + i + "/sony/system");
      }
      return result;
    };
    
    export const scanForTv = (ip: string) => {
      const result = Promise.allSettled(
        urls(ip).map((url) => getDeviceInfoUrl(url))
      ).then((data) => {
        return data.filter((x: any) => x.status === "fulfilled");
      });
      return result;
    };

我就是这样在网络上找到电视的。
另外,请注意,我们使用HTTP而不是HTTPS,这是不会飞在android上,所以只需将此添加到您的清单,这样你就不会像我浪费太多时间:

<application
        android:usesCleartextTraffic="true">

相关问题