【笔记】一些PDN建立成功后返回的IP地址情况及日志分析

背景

Protocol满足运营商需求,即便是PDN的通的,也可能因为网络问题导致MMS、热点等业务无法正常工作。(丢包?网络无响应?服务器异常)

或者Protocol跟运营商需求不一致,直接SETUP_DATA_CALL失败了。

一般而言,如果APN Protocol 参数配置不符合运营商要求,在 PDN 建立的时候会setup data失败的,因为数据连接也取决于网络返回的信息。

代码

获取网络连接的协议信息

通过ConnectivittyManager拿到链路信息LinkProperties

//Settings应用中,Google原生的状态显示逻辑

    mCM = context.getSystemService(ConnectivityManager.class);
    
    private static String getDefaultIpAddresses(ConnectivityManager cm) {
        LinkProperties prop = cm.getLinkProperties(cm.getActiveNetwork());
        return formatIpAddresses(prop);
    }

    private static String formatIpAddresses(LinkProperties prop) {
        if (prop == null) return null;
        Iterator<LinkAddress> iter = prop.getAllLinkAddresses().iterator();
        // If there are no entries, return null
        if (!iter.hasNext()) return null;
        // Concatenate all available addresses, newline separated
        StringBuilder addresses = new StringBuilder();
        while (iter.hasNext()) {
            addresses.append(iter.next().getAddress().getHostAddress());
            if (iter.hasNext()) addresses.append("
  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值