1、在使用Flutter ObjectBox数据库的时候,想通过objectbrowser来查看本地数据库的内容,然后就出现个神奇的问题,本机通过浏览器可以正常查看,但是局域网内的电脑始终无法通过IP进行访问…而应用内还有个其他的http服务确可以访问,百思不得其解。

2、最终浪费了一天的时间终于找到了问题所在,罪魁祸首就是Admin中的bindUri参数

默认值是:http://127.0.0.1:8090,需要把他改成'http://0.0.0.0:8090'这样在局域网内任意设备都可以访问了!!!
class ObjectBox {
  late Store _db;
  late Admin? admin;

  Future<bool> init() async {
    _db = await openStore();
    if (Admin.isAvailable()) {
      admin = Admin(_db, bindUri: 'http://0.0.0.0:8090');
    }
    return true;
  }
}
⚠️这里还需注意的一个点就是:Admin对象一定要设置为成员变量,否则对象会被回收,也会导致无法查看

3、最后来看下GPT给的这俩种IP设置的区别吧

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐