无法通过不同的网络同时连接到不同的mqtt服务器

vd2z7a6w  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(169)

我有一个用react native编写的android应用程序,我想连接到2个不同的mqtt服务器。
第一个服务器在raspberry pi上,我通过蓝牙pan连接到它。但第二台服务器位于不同的机器上,因此我只能通过wifi或移动数据访问它。
如果我有可用的wifi或移动数据,那么我无法连接到pi上的第一台服务器,因此我必须将蓝牙设置为默认网络:

ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkRequest.Builder request = new NetworkRequest.Builder();
  request.addTransportType(NetworkCapabilities.TRANSPORT_BLUETOOTH);

  connMgr.registerNetworkCallback(request.build(), new ConnectivityManager.NetworkCallback() {
    @Override
    public void onAvailable(Network network) {
      // TODO: Replace with `bindProcessToNetwork`
      ConnectivityManager.setProcessDefaultNetwork(network);
    }
  }
);

但现在第二台服务器无法访问,因为默认情况下,它会尝试通过蓝牙访问它。如果我关闭蓝牙,那么我可以访问它,因为它使用wifi。
因此,我的问题是如何定义(如果可能的话)每个连接的默认网络?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题