【问题标题】:what is Android VpnService.Builder setBlocking什么是 Android VpnService.Builder setBlocking
【发布时间】:2018-09-16 14:45:37
【问题描述】:

我的问题是:它的真正作用是什么?例如,如果我将其设置为 true,它会对我想要写入 TUN 设备的包(数据报?)做什么?据我所知,意味着所有要写入 TUN 设备的数据包都将被丢弃,而不是以其他方式处理。是this的意思吗?

所以我只能跟踪它到目前为止所做的事情:

public Builder setBlocking(boolean blocking) {
    mConfig.blocking = blocking;
    return this;
}

还有那个

public class Builder {
    private final VpnConfig mConfig = new VpnConfig();
    //other stuff here ...
}

我也读过official description,但我还不清楚。谷歌搜索只会导致与“如何绕过 VPN 阻止”相关的搜索结果。

【问题讨论】:

    标签: android vpn android-vpn-service


    【解决方案1】:

    它确实指的是阻塞 I/O,与阻塞流量或如何处理数据包无关。相反,它会改变您的程序与文件描述符的交互方式。

    在阻塞模式下,read()/write() 之类的操作将阻塞,直到某些数据已传输(或发生错误),而在非阻塞模式下,如果文件描述符当前未准备好,操作将阻塞。

    【讨论】:

      猜你喜欢
      • 2021-11-09
      • 2021-10-13
      • 2011-10-02
      • 2014-08-10
      • 2016-02-08
      • 2014-06-10
      • 2021-10-21
      • 2020-02-02
      相关资源
      最近更新 更多