自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 WPF使用log4net记录日志

介绍log4net在WPF程序中的应用。如果配置,如何打印日志

2023-12-28 11:43:44 1474 1

原创 C++之类型转换

在C++或者大部分程序开发语言中,某些类型之间是有关联的,比如int和long,signed int和unsinged int等。这种相关联的类型之间是可以相互转换的。本文介绍C++中隐式转换和显示转换的用法和规则,以及应该注意的问题。

2023-12-26 13:55:22 864 1

原创 C++之lambda表达式

介绍C++中谓词和Lambda表达式的概念

2023-12-25 19:51:24 855

原创 MAC使用wireshark抓WiFi空口包

MAC的无线网卡自带支持monitor模式的驱动,我们可以使用它直接抓取wifi air log,不需要借助其他网卡。

2023-10-24 22:46:22 1796

原创 Wi-Fi网络评分机制04_ThroughputScorer(默认评分器)

ThroughputScorer与其他评分器相比,更偏向于实际的传输速率,也更为合理。但是其评分过程涉及到一些吞吐量估算内容,需要一点无线通信的基础才能更好理解。

2023-10-09 21:39:23 177 1

原创 Wi-Fi网络评分机制03_ScoreCardBasedScorer

*频段奖励:**根据候选网络的频段(6GHz、5GHz等),分别添加了 BAND_6GHZ_AWARD_IS_40 和 BAND_5GHZ_AWARD_IS_40 奖励。方法根据最近30次的rssi信息计算出一个cutoff值,这里的cutoff实际上是作为计算rssi评分的基准。理论上,如果两组rssi的均值一样,对于rssi离散的热点,cutoff会更低一些。**最近连接奖励:**具体方法参考BubbleFunScorer。**安全性奖励:**对于非开放网络,加80分。,最后将cutoff限定在。

2023-10-09 21:32:54 88 1

原创 Wi-Fi网络评分机制02_CompatibilityScorer

介绍Android WiFi评分器(Scorer),跟BubbleFunScorer的处理是差不多的。这个评分器的代码更为简单,计算方法几乎是线性的。

2023-10-09 21:29:42 55 1

原创 Wi-Fi网络评分机制01_BubbleFunScorer

由于2.4G 的Entry rssi更低,所以可以理解为此时2.4G 的分数会更高。实际上它将rssi转换成了一个以自然常数e为底的指数函数,从下面的函数图形可以看出,它是一个单调递增的函数,在rssi小于-60的时候,函数上升的特别快,从-60开始,逐渐平缓,大于-40时,几乎不会有太大增长。实际情况下,较弱的信号可能会导致较大的性能下降,因此在打分时对弱信号会进行更为严厉的处罚;对于强信号来说,即使信号减弱,性能下降或许也不明显,因此评分的降低就更为平缓。尽量保证当前连接,避免频繁或者不必要的切换。

2023-10-09 21:24:28 58 1

原创 Wi-Fi网络评分机制00_(WiFi选网/自动连接)

当扫描到多个wifi网络时,系统又是如何确定到底连接哪一个AP呢,在Android WiFi Framework中,存在一套评分机制,它会对每一个扫描到的AP进行打分,最后选择一个最优的进行连接。以的方法为入口。当收到扫描结果后,现通过的方法生成所有待评分的candidates,随后再通过的方法对每个candidate进行评分并选择最优的一个candidate。

2023-10-09 21:20:05 130 1

原创 iw命令查看wifi芯片信息

命令查看的 Wi-Fi 芯片(Wiphy)的详细信息。并对输出内容进行解释

2023-09-20 09:36:17 383 1

原创 Android PNO扫描实现

PNO扫描由WifiConnectivityManager负责发起(Disconnected并且Screen OFF),将请求传递给wificondwificond通过netlink设置相关扫描参数后请求驱动进行周期扫描(ScheduledScan)。驱动扫描结束后,现上报扫描结束事件,Framework层的收到通知后再主动通过wificond从驱动获取扫描结果列表并继续上报,直到收到扫描结果的回调并处理。包括PNO扫描的发起,回调函数的注册,扫描结果的上报。

2023-09-18 21:31:44 409

原创 WiFi的几种扫描类型

WiFi的扫描用于发现附近可用网络。一般可以分为两种主要类型: 主动扫描(active scan) 和 被动扫描(passive scan)。另外还有一些更为细化的概念: PNO扫描,前后台扫描,单通道扫描,多通道/全通道扫描等。

2023-09-18 21:23:20 1376

原创 okhttp interceptor拦截器简单介绍

Interceptor顾名思义,就是拦截器的意思。由面向切面编程(AOP: Aspect Oriented Programming)概念引入,okhttp引入AOP,旨在让用户可以简单方便的对request或者response在发送给Server前或者在返回给终端用户前做一些处理。比如,我们需要在每个请求头部加入Authorization字段(添加token校验),那么我们只需要定义一个interceptor,在每个HTTP请求发出去之前为其添加相关头部字段。下面我们对这些拦截器详细解释下。

2023-09-15 10:37:56 129 1

原创 Android WiFi 开启流程(基于Android S)

本文主要介绍Android S 上Wifi Enable的流程,包括Frameowork层的初始化,HAL服务和驱动的初始化等。

2023-09-12 17:40:44 1808 1

原创 DNS Search Domain(搜索域)

DNS应该很多人都比较了解,但是对于搜索域可能并不清楚其具体作用,本篇文章以Android T 为例,先介绍Search Domain的概念,然后介绍下安卓上的实现。

2023-09-03 21:27:12 3276 2

原创 Ubuntu无显示器远程桌面

收到货插上电脑,发现分辨率最高只有1024x768,但是卖家明明说支持1080P的,又搜了一下,果然有解决方案,这里记录一下。参照网上的教程搞了下dummy Virtual display,半天没搞好,很烦,就某宝上买了个显卡欺骗器。家里的显示器都给笔记本用了,Ubuntu的台式机没有显示发现远程是黑屏的。使用cvt和xrandr,如果没有需要自己安装下。特记录一下,以免后面有问题又要去搜索。屏幕歘地闪一下分辨率就调整过来了。

2023-08-02 20:41:19 592

原创 概率论与数理统计基本知识点总结

概率论的基本概念样本空间和随机事件样本空间随机试验的所有可能结果构成的集合成为样本空间, 记为S={e},S中的e作为样本点例1:一枚硬币抛一次S = {正面, 反面}记录一批产品的寿命x:S = {x : x>=0}记录某地一昼夜最高温度x,最低温度yS = {(x,y) : a<=y<=x<=b}随机事件样本空间S的子...

2019-10-18 15:24:22 4136

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除