- 博客(66)
- 资源 (12)
- 收藏
- 关注
原创 Golang使用Quic-Go开源库实现Quic客户端和服务端
QUIC(Quick UDP Internet Connections)是一种基于UDP的传输层协议,设计用来提供比TCP更快、更稳定的网络通信。
2024-08-29 19:02:16 666
原创 C++使用Poco库封装一个HTTP客户端类--Body参数
我们在使用HTTP协议获取接口数据时,通常需要在Header和Query中添加参数,还有一种就是在Body中追加XML或者JSON格式的数据。本文主要讲述使用Poco库提交HTTP Post请求的请求体中附加XML格式的数据,JSON数据类似。
2024-06-28 17:29:35 390
原创 C++使用Poco库指定网卡去接收组播数据
以下代码封装了一个UDP接收组播数据的类,第一个构造函数Poco::Net::SocketAddress类可以实现UDP单播数据的接收、发送以及往组播发送数据,第二个构造函数使用Poco::Net::MulticastSocket类去接收组播数据,UdpUnit类中成员函数Recv仅仅实现了组播数据的接收,可以改成使用Poco::Net::SocketAddress去接收单播数据。
2024-06-19 16:32:55 418
原创 C++开源库glog使用封装--自定义日志输出格式,设置日志保留时间
glog这样设计的好处:确保了当应用程序在同一日内多次启动时,不会生成多个日志文件,从而有效避免了日志分散的问题,保持日志的连续性和管理的便捷性。该类设置日志保留的时间为。
2024-05-16 16:16:41 987
原创 C++使用json11开源库快速生成JSON格式的数据
在程序开发中,JSON格式的接口数据应用很广泛,C++生态中有许多高效的JSON库,如nlohmann/json、RapidJSON、jsoncpp等,这些库提供了便捷的API来实现JSON数据的解析、生成、序列化和反序列化,简化了C++程序对JSON数据的操作,本文记录一个轻量级的开源库json11来生成JSON格式的数据。json11是C++11的一个小型JSON库,提供JSON解析和序列化。在使用过程中只需要引用json11.hpp和json11.cpp两个文件即可使用json11的接口。
2024-05-06 19:24:23 530
原创 Design patterns--代理模式
我们使用Qt开发大型应用程序时,经常遇见大型程序启动时需要加载一些配置信息、用户末次操作信息,以及算法模型等数据时比较费时,笔者在程序启动时设计欢迎页或加载页等窗体来提示用户程序正在加载某些数据,加载界面运行的时候使用代理模式去读取程序运行所需的数据。
2023-12-04 23:30:44 578
原创 Design patterns--策略模式
笔者经常使用Modbus TCP和Modbus RTU通信协议,而两种的请求数据的格式不一样,故而采用策略模式来健壮整个工程项目。
2023-10-12 23:23:35 701
原创 C++使用Boost库加入UDP组播时程序崩溃
what(): set_option: No such device 已放弃 (核心已转储) **Boost库中boost::asio::ip::udp::socket套接字找不到网卡去加入组播。本程序运行在Oracle VM VirtualBox虚拟的。C++使用Boost库加入组播的代码。
2023-09-15 17:07:05 1337
原创 网络字节序和主机字节序
上述代码中#include 、 #include 是Linux系统的头文件,所在路径分别为。/usr/include/endian.h 和 /usr/include/byteswap.h。大端和小端只是对数据类型长度是两个及以上的,如int、short,对于单字节没限制。主机字节序(机器不同,字节序也不同,需判断)低位地址存放高位数据,高位地址存放低位数据。低位地址存放低位数据,高位地址存放高位数据。
2023-05-18 09:15:00 599
原创 Open62541取消日志的打印
由于Open62541默认会打印日志,当实现重连OPC UA Server机制后,日志信息非常的频繁,不太适合自己当前的服务端日志风格,故而禁止Open62541打印日志信息。
2023-03-30 19:40:23 312
原创 cpp-httplib实现HTTP Server接收带参数的URL
?符号是分隔实际的URL和参数,所以 req.matches[0] 并不能获取到URL的参数,只能获得带路径的 / 符号后面的数据,而 req.params 才是获取URL的参数,理解URL才是理解代码的关键。
2023-03-24 16:23:10 1252
原创 POCO库编译带上可选选项OpenSSL、MySQL和PostgreSQL
踩坑记录:cmake默认使用MySQL的mysqlclient.lib(静态库)去编译,笔者尝试了去解决一些编译产生的错误后,最终还是放弃了,但是使用libmysql.lib,立马就成功了。
2023-03-20 09:00:00 733
原创 使用Qt编译Lua
本文介绍使用Qt5.14.2在Win10上编译Lua源码,并将Lua源码编译成三个不同的目标文件,它们分别是:0:LuaLib(Lua动态库)、1:LuaCompile(Lua编译器)、2:LuaExplanation(Lua解释器)。
2023-03-09 23:04:34 1101
原创 Qt使用workflow
上述内容必须设置,否则会报错:error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug。
2023-02-10 15:24:15 676 3
原创 Linux编译librdkafka
librdkafka是Apache Kafka协议的C库实现,提供Producer、Consumer和Admin客户端。
2022-12-31 16:06:21 1483
原创 C++操作PostgreSQL数据库
由于ODBC的方式较为繁琐,pgfe库又依赖libpqxx库,综合选择了libpqxx来操作PG数据库。近期工作需要使用C++操作PostgreSQL数据库。
2022-10-30 15:12:29 2017
原创 TortoiseGit图标覆盖的意义
每个文件都有Git库报告的Git状态值。在命令行客户端中,它们由单字母代码表示,但在TortoiseGit中,它们使用图标覆盖以图形方式显示。因为覆盖的数量非常有限,所以每个覆盖可以代表几个状态值中的一个。
2022-10-28 17:58:56 1038
Qt设计加载窗体来读取配置数据.zip
2023-12-04
log4cplus is a simple to use C++20 logging API
2023-05-19
CRC校验计算器(CRC16和CRC32)
2023-04-06
liblua.dll和luac.exe以及lua.exe
2023-03-09
Qt利用UDP通信来传输JSON数据以及接收并解析JSON数据
2023-02-27
vlc-qt-1.1.1.rar
2023-02-14
Redis6的最新版本6.2.8的Windows版本
2023-01-07
OPC UA Client-Windows-Linux.zip
2022-11-04
libopen62541-1.3.3-win32.zip
2022-11-04
c++-client-libpqxx.rar
2022-10-27
libjsoncpp库和使用案例
2022-10-26
C++操作redis的客户端hiredis库
2022-10-08
嵌入式Arm Linux抓包软件tcpdump
2022-09-16
ksycopg2_windows_amd64_MSVC2017_python3.6-64bit.zip
2021-10-29
QtCreator.desktop
2020-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人