自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 论坛 (1)
  • 收藏
  • 关注

原创 阿里云IOT SDK中的MQTT稳定架构分析

1、TCP的read和write都采用select机制进行这里使用select可以实现至少两种功能:(1)select可以检测socket状态,如果select返回为负,说明当前socket异常,就不会再进行read/write 这样就能有效的避免 SIGPIPE带来的终止进程操作。(2)select还可以检测当前socket是否拥堵,这样就变相的实现了同一个socket的“并发”读写。2、由于 MQTT协议标准,所以在进行“读”socket操作时,步骤:...

2020-12-29 21:42:10 175

原创 MQTT协议:Retain (保留消息)功能分析小结

场景分析 某个mqtt客户端A每小时向某个特定的topic发布一条消息,所有订阅这个topic的客户端将会收到该消息,这是正常流程,如果客户端A刚刚发布消息,此时有一个新的客户端B订阅该topic,也就是“订阅”是在“发布”后,这个时候客户端B将接收不到该消息。 Retain 功能就是为了解决这一问题,当客户端A发布小时时,将 retain标志置1,那么broker就会保存该消息,当有新的客户端订阅该topic时,会立刻将该条消息推送给客户端B。 所以官方的协议中是这样介绍

2020-12-24 13:27:47 236

原创 systemctl 启动/关闭/启用/禁用服务 总结

启动服务systemctl start vsftpd.service关闭服务systemctl stop vsftpd.service重启服务systemctl restart test.service显示服务的状态systemctl status test.service在开机时启用服务systemctl enable test.service在开机时禁用服务systemctl disable test.service查看服务是否开机启动sys

2020-12-14 13:53:00 760

原创 Posix 消息队列 实例分析

一、概述在linux应用开发中,消息队列的应用场景很普遍,比如最常见得生产 --消费模型,一方产生数据,并把数据放入队列中,而另一方从队列中取数据。linux中的消息队列的主要用途为进程间通信,当然,也可以进行 “线程间通信”。 我们可以简单的理解为: (1)创建了一个消息队列,相当于在内核层面,创建了一个链表,这也就意味着这个消息队列,在不主动删除的情况下,会一直存在,即便是创建它的进程退出后,该消息队列仍然存在。消息队列在内存中可能的布局如下: (2)消息队列...

2020-12-06 22:13:41 66

原创 __sprintf_chk’ may write a terminating nul past the end of the destination [-Wformat-overflow=]报警解决

在使用sprintf时,编译时会检测格式化输出的缓存大小,如果缓存过小,则会出现该警告,比如代码如下就会出现这样的警告void func(int cnt){ char buf[10]; sprintf(buf, "%d", cnt); // ....}解决办法:只需要将buf的大小改大即可,如下:char buf[32];...

2020-12-05 19:36:27 304

空空如也

猪哥-嵌入式的留言板

发表于 2020-01-02 最后回复 2020-04-28

空空如也

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

TA关注的人 TA的粉丝

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