logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

我的mqtt协议和emqttd开源项目个人理解(20) - 如果客户端clientid为空,emq会随机帮忙生成

mqtt v3.1.1协议有规定clientid可以为空,所以当客户端clientid为空,emq会随机帮忙生成。 一、源码emq 1.1.3 -- emqttd_protocol.erl客户端经过TCP三次握手建立连接之后,会发起mqtt connect packet,服务器接收到后开始处理这个数据包,入口函数就是如下的源文件,process函数:https://github.c...

#erlang
我的mqtt协议和emqttd开源项目个人理解(25) - 协议里面Clean Session为0和1的区别

一、基本概念Session 会话定义定义:某个客户端(由ClientID作为标识)和某个服务器之间的逻辑层面的通信生命周期(存在时间):会话 >= 网络连接CleanSession 标记在Connect时,由客户端设置 0 —— 开启会话重用机制。网络断开重连后,恢复之前的Session信息。需要客户端和服务器有相关Session持久化机制。1 —— 关闭会话重用机制。...

我个人的keepalived-1.4.2实践:安装与测试(★firecat推荐★)

一、下载安装http://www.keepalived.org/software/keepalived-1.4.2.tar.gz1、操作系统:CentOS 7.4,先确保安装了openssl,安装方法: yum -y install openssl-devel没有OpenSSL的话,configure会报错: !!! OpenSSL is not properly installed on you

我的mqtt协议和emqttd开源项目个人理解(1) - Clean Session和Retained Message

学习mqtt协议和emqttd开源项目一、关于clean session的说明ets:mqtt_persistent_sessionets:subscribedets:subscriberMnesia:sessionMnesia:subscriptionMnesia:topic当clean session的值为false,即保留会话,那么该客户端上线,并订阅了主题

#erlang
\mfc\dumpcont.cpp(23) : atlTraceGeneral 内存泄漏

Detected memory leaks!Dumping objects ->f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {4873} normal block at 0x069959A0, 26 bytes long.Data: <x> 78 C5 9C 0F ...

VS2010下libevent的如何使用

官网:http://libevent.org/以libevent-2.0.22-stable为例,1、解压缩libevent-2.0.22-stable.tar.gz。2、打开“Visual Studio 命令提示(2010)”,进入第1步解压后的文件夹,例如:E:\libevent-2.0.22-stable,执行命令“nmake /f Makefile.nmake”,编译完之后,会

开源项目推荐:C++单元测试框架googletest/Catch2/QtTest

单元测试,一直用的是googletest,使用时只需要下载源码编译出库,在测试工程中引用即可,googletest提供了很多宏来让我们很轻松的组织测试用例。而Catch2比googletest使用更简单,源码就一个头文件,使用时只需要将Catch2.hpp引用到工程中即可,基本的测试用例组织方法与googletest相似;对于测试夹具,个人认为Catch提供的TEST_CASE+SECTION更简

#单元测试
GIS系列专题(4):使用贪心算法(Dijkstra Algorithm)解决最短路径问题(Calculating shortest path in QGIS)

1、最短路径问题介绍问题解释:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:迪杰斯特拉算法(Dijkstra算法)弗洛伊德算法(Floyd算法)SPFA算法2、Dijkstra算法介绍算法特点:迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块

#动态规划
Mosquitto-1.5.4源码分析,数据结构之哈希表uthash

源码路径有头文件,/mosquitto/mosquitto-1.5.4/src/deps/uthash.h来源于http://troydhanson.github.io/uthash/GitHub源码:https://github.com/troydhanson/uthash使用说明:http://troydhanson.github.io/uthash/userguide.html...

epoll定时器实现系列文章:高性能定时器实现的三种方式---升序链表,时间轮,最小堆(★firecat推荐★)

就是说,有N多个定时器,如何来实现高效到点执行定时函数的问题。在开发Linux网络程序时,通常需要维护多个定时器,如维护客户端心跳时间、检查多个数据包的超时重传等。定时器的结构有多钟比如链表式,最小堆,时间轮等。在不同应用场景下使用哪种需要考虑效率和复杂度? 时间轮定时器1.时间轮定时器有什么好处,或者说这种结构的定时器能决解什么问题?在升序链表定时器里,可以看到在添加一个定时...

    共 85 条
  • 1
  • 2
  • 3
  • 9
  • 请选择