1、在使用Flutter ObjectBox数据库的时候,想通过objectbrowser来查看本地数据库的内容,然后就出现个神奇的问题,本机通过浏览器可以正常查看,但是局域网内的电脑始终无法通过IP进行访问...而应用内还有个其他的http服务确可以访问,百思不得其解。
2、最终浪费了一天的时间终于找到了问题所在,罪魁祸首就是Admin中的bindUri参数
默认值是:http://127.0.0.1:8090,需要把他改成'http://0.0.0.0:8090'这样在局域网内任意设备都可以访问了!!!
dart
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设置的区别吧
