LTE注网过程 5.解系统消息:通过同步过程解出小区之后,会马上开始从广播信道接收必要的广播消息并解析(主要读取MIB消息和SIB消息),根据解出的信息判断该小区是否是符合要求的suitable cell,如果是,则驻留在该小区上,获得小区服务。开机上电 -> 初始化 -> PLMN选择 -> 扫频 ->小区搜索 -> 解系统消息 -> 小区选择 -> 小区驻留 -> 随机接入 ->6.小区选择:根据广播消息中解析的接入等级,小区门限, 终端当前测量的信号等,判断是否满足S准则,满足则小区选择成功,不满足时扫下一个频点。
linux 有名管道FIFO 这样,即使与FIFO的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过FIFO相互通信(能够访问该路径的进程以及FIFO的创建进程之间),因此,通过FIFO不相关的进程也能交换数据。管道的缓冲区是有限的(管道制存在于内存中,在管道创建时,为缓冲区分配一个页面大小)管道所传送的是无格式字节流,这就要求管道的读出方和写入方必须事先约定好数据的格式,比如多少字节算作一个消息(或命令、或记录)等等。FIFO缓冲区一有空闲区域,写进程就会试图向管道写入数据,写操作在写完所有请求写的数据后返回。
MQTT 异常断开(一) MQTT异分析问题总结前提:MQTT是基于TCP层再次封装,MQTT是不关心TCP层的实现与传输,但是如果TCP链路出现异常(丢失TCP ACK,网络延时TCP ACK等)一定会导致MQTT断开连接。MQTT代理服务器存在如下问题:a.代理服务器,对于连接时没有及时处理收到模块关于TCP层的 TCP ACK(Seq确认包),出现重传MQTT Connect Ack。模块内部MQTT的处理逻辑,NQTT收到Connect Ack之后,模块已经准备就绪,回码OK,但是客户......
MQTT 遗嘱消息(Will Message)发布 MQTT遗嘱消息,什么时候订阅者会收到代理服务器发布的遗嘱消息?以下四种情况: 1.服务端发生了I/O 错误或者网络失败; 2.客户端在定义的心跳时期失联; 3.客户端在发送下线包之前关闭网络连接; 4.服务端在收到下线包之前关闭网络连接。正常状态下发布者断开MQTT连接,AT+MQTTDISCONN,正常关闭MQTT链路,设置的遗嘱消息是不会被代理服务器发布出去的,......
find 指令 参数起始目录:查找文件的起始目录。实例根据文件或者正则表达式进行匹配列出当前目录及子目录下所有文件和文件夹find .在/home目录下查找以.txt结尾的文件名find /home -name "*.txt"同上,但忽略大小写find /home -iname "*.txt"当前目录及子目录下查找所有以.txt和.pdf结尾的文件find . \( -name "*.txt" -o -name "*.pdf" \)或find . -name "*
编译头文件 ““与<> 的区别 “”和<>的区别:1. 引用的头文件不同#include< >引用的是编译器的类库路径里面的头文件。#include“ ”引用的是你程序目录的相对路径中的头文件。2. 用法不同#include< >用来包含标准头文件(例如stdio.h或stdlib.h).#include“ ”用来包含非标准头文件。3. 调用文件的顺序不同#include< >编译程序会先到标准函数库中调用文件。#include“ ”编译程序会先从当前目录中
#pragma pack (n)使用详解 在缺省情况下,编译器为了让程序跑得跟快,减少CPU读取数据的指令周期,对结构体的存储进行了优化,比如:如下结构体struct s{char ch;int i;};虽然变量ch本身只有1个字节,但实际上却占用掉了4个字节,为的是让第二个int型成员i的地址能够被4整除。因此实际占用的是8个字节,sizeof(s) = 8。一般地,可以通过下面的方法来改变缺省的对界条件:使用伪指令#pragma pack (n),C编译器将按照n个字节对齐。使用伪指令#pragma pack.
MQTT异常断开 MQTT异常断开,讨论一下TCP链路的影响MQTT异常断开,TCP链路原因的几种情况:三种情况:1、客户端MQTT发送了心跳包,但是MQTT代理服务器没有收到心跳包,所以MQTT代理服务器也就不会回复心跳响应包。TCP层出现网络故障,客户端发起链路重置;2、客户端发送了MQTT心跳包,但是TCP网络的原因没有发给代理服务器,代理服务器设置MQTT心跳,1.5T没有收到心跳包,将踢掉MQTT连接3、客户端MQTT,给MQTT代理服务器发送TCP层的ACK确认包,代理服务器没有收到TC.
MQTT Qos降级(三) 基于标准MQTT 3.1版本MQTT Qos服务质量等级降级的情况服务端可以授予比订阅者要求的低一些的QoS等级。为响应订阅而发出的消息的有效载荷的QoS必须是原始发布消息的QoS和服务端授予的QoS两者中的最小值。如果原始消息的QoS是1而被授予的最大QoS是0,允许服务端重复发送一个消息的副本给订阅者。...
MQTT安全(非规范) 5.1 概述本章的内容仅供参考, 是非规范化的。 然而, 强烈推荐提供TLS的服务端实现应该使用TCP端口8883( IANA服务名: secure-mqtt) 。解决方案提供者需要考虑很多风险。 例如:设备可能会被盗用 客户端和服务端的静态数据可能是可访问的( 可能会被修改) 协议行为可能有副作用( 如计时器攻击) 拒绝服务攻击 通信可能会被拦截、 修改、 重定向或者泄露 虚假控制报文注入MQTT方案通常部署在不安全的通信环境中。 在这种情况下, 协议实现通常需要提供这些机制:
C语言编译常见警告 declared implicitly 隐式声明subscript out of range 下标超出范围argument of type "UINT8 *" is incompatible with parameter of type "const char *" 类型为“UINT8*”的参数与类型为“const char*”的参数不兼容expression must be a modifiable lvalue 表达式必须是可修改的左值st...
select 函数详解 Unix系统下解释:函数原型:intselect(int maxfdp, fd_set* readfds, fd_set* writefds, fd_set* errorfds, struct timeval* timeout);select函数的主要用途是什么?select函数是一个监控函数,用来监控插口的状态!插口就是指的是文件描述符,Unix / Linux一切皆文件。select函数能够监控插口状态,如下表:具体解释select的参数:先解释第五个参数(最后一个参数):st.
TLS(传输层安全)协议 TLS协议概述学习了TLS协议的一些基本原理和实现,想将它分享出来,也看看我是否是学到了精髓,我尽量表述清楚,如果 有不对的地方请大家评论批评指正。TLS协议基础 TLS通过建立安全连接实现数据在两个应用进程之间的安全传输过程,能够实现双向身份鉴别、保证数据的完整性和保密性。TLS的前身是安全接口层SSL,所以也常写成SSL/TLS关于TLS的发展,我觉得了解一个协议的发展背景和发展历史也是作为安全人士的一种素养,所以不了解的同志还是可以去百度一下。 TLS协议结构如图所示: 在整
SSL/TLS协议详解及区别 SSL/TLS协议详解及区别SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。SSL ...