记录关于Flutter ObjectBox数据库使用ObjectBoxBrowser插件,在同一个局域网内电脑无法访问查看数据问题
Flutter ObjectBox数据库调试时遇到局域网无法访问的问题,原因是Admin默认绑定127.0.0.1。解决方法是将bindUri参数改为'http://0.0.0.0:8090',同时需将Admin对象设为成员变量防止被回收。127.0.0.1仅限本机访问,0.0.0.0允许所有网络接口访问。修改后即可实现局域网设备访问ObjectBox浏览器调试界面。
·
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设置的区别吧

更多推荐
所有评论(0)