自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 深入探索cpprest库:现代化的C++ RESTful编程

cpprest(又称为Casablanca)是一个开源的C++库,专注于实现现代化、异步的RESTful编程。它提供了一组简洁而强大的API,用于构建客户端和服务器端的HTTP请求和响应,让开发者能够轻松地构建高性能的Web应用程序。本文将详细介绍cpprest库的特性和使用方法,并给出每个请求用法的示例。

2023-08-07 16:50:04 3007

原创 计算机网络基础知识详解

计算机网络作为现代信息时代的重要基础设施,已经渗透到我们生活的方方面面。它为人与人,人与计算机之间的信息交流提供了快速、便捷的方式,改变了我们工作、学习和生活的方式。本文将介绍计算机网络的概念和重要性,帮助读者更好地理解和利用计算机网络。一、什么是计算机网络计算机网络是由若干台计算机通过通信设备连接起来,共享资源、信息和服务的系统。它可以是局域网、广域网或互联网等不同范围的网络。计算机网络的基本组成部分包括计算机节点、通信介质和通信协议等。二、计算机网络的组成。

2023-07-05 10:43:06 607

原创 Linux与Windows:操作系统的不同体验

习惯了Windows的用户可能会觉得,在Linux的路径表示中反斜杠变成了正斜杠,路径的书写方式确实有一定的不同,需要适应一段时间才能熟悉。此外,Linux上的命令行界面更加强大且灵活,对于熟悉命令行操作的用户来说,可以通过命令行完成更多的任务。首先,Linux给予用户更大的自由度和可定制性。而在Windows中,很多系统设置和功能是固定的,用户只能按照预设的方式进行操作。它们各自有着独特的特点和使用方式,而在我个人的使用经验中,也发现了一些让我在Linux上顺理成章,而在Windows上感到费解的事情。

2023-07-04 08:53:09 189

原创 线程同步以及线程间通信

管道(Pipe)是一种基于文件描述符的进程间通信方式,也可以被应用于线程间通信。一个线程向管道中写入数据,另一个线程从管道中读取数据。条件变量(Condition Variable)是一种线程同步机制,用于线程之间的通信。它允许某个线程等待另外一个线程的通知,而无需使用忙等待(Busy Waiting)的方式来等待。下面介绍三种常用的线程间通信机制。互斥锁(Mutex)是最常用的线程同步技术之一,它保证在同一时间只有一个线程可以访问共享资源。当一个线程获得了互斥锁后,其他线程必须等待该线程释放锁才能获得。

2023-06-09 08:49:30 758

原创 HTTP 协议下自定义数据协议的确定过程以及一个 Linux C++ 实现的例子

总之,在 HTTP 协议下,通过自定义协议头和协议体,可以实现自定义的数据协议格式。自定义协议头可以通过在 HTTP 头部中添加自定义字段来实现,而自定义协议体则可以通过 MIME 多部分消息格式来传输不同类型的数据。在 HTTP 协议下,自定义数据协议是通过自定义的协议头和协议体来实现的。自定义协议头包含了协议的元信息,如数据类型、版本等,而协议体则包含了真正的数据内容。在这个例子中,我们定义了一个名为 X-My-Data-Version 的自定义字段,用于指定数据的版本信息;一、自定义协议头的确定。

2023-05-31 10:47:51 367

原创 Ubuntu 22.04 版本的网络配置

总之,Ubuntu 22.04 提供了强大的网络配置选项,可以帮助您轻松设置和管理网络连接、路由设置、DNS 配置和防火墙。通过细心的配置,您可以确保您的计算机安全、高效地连接到互联网,并在您需要 Internet 访问时能够发挥作用。ufw 允许您指定哪些应用程序可以访问您的计算机,以及哪些应用程序可以从您的计算机访问互联网。Ubuntu 22.04 版本是一款强大的操作系统,它提供了广泛的网络配置选项,包括网络连接、路由设置、DNS 配置和防火墙配置等。您还可以使用 ip 命令进行路由配置。

2023-05-31 09:01:42 18809 2

原创 大数据处理中的利器——rdkafka

随着大数据时代的到来,消息队列作为异步消息传输的重要组件,在大数据处理中发挥着越来越重要的作用。rdkafka是librdkafka提供的Kafka C/C++客户端,它实现了快速、可靠的Kafka生产者和消费者,并且在大数据处理中发挥着重要的作用。rdkafka 是基于 librdkafka 的一个 C++ API 客户端,librdkafka 是高性能,并且接口比较简单纯净的 Kafka C库,它的设计目标是高吞吐量和低延迟。利用 rdkafka 可以实现较高的吞吐量和较低的延迟,支持海量的数据接入。

2023-05-22 09:14:12 797

原创 RdKafka高级用法及例子

本文介绍了 RdKafka 的高级用法,包括消费者组管理、消息回溯、消息分区和消息筛选,并给出了一个完整的生产者和消费者实现。希望能够对大家学习和使用 RdKafka 带来一些帮助。

2023-05-17 15:56:01 1116

原创 Linux上的一些进阶操作介绍

以上是一些Linux操作系统中一些比较常用的进阶操作,它们可以帮助用户更高效地操作系统。当然,Linux是一种非常灵活的操作系统,还有很多其他的进阶操作,需要我们不断学习和探索。该命令可以在本地主机将文件local_file复制到远程主机remote_host的/remote/directory目录下。该命令可以将文件file.txt中的所有旧字符串替换为新字符串。该命令可以在文件file.txt的前三行中插入insert_text字符串。该命令可以计算文件file.txt中第一列的所有数据之和并输出。

2023-05-17 10:53:53 165

原创 SSH 的加密算法及在 C++ 中使用其他网络协议

SSH是一种安全的网络协议,包含多种加密算法和密钥交换协议,用于保证数据传输的机密性和完整性。同时,C++中可以使用其他网络协议进行数据传输,比如FTP和SFTP等,使用第三方库比如libcurl和libssh等可以方便地实现这些协议的数据传输功能。非对称加密算法是指加密和解密使用不同的密钥,常见的非对称加密算法有RSA、DSA、ECC等。在SSH中,常用的非对称加密算法是RSA算法,用于密钥交换和数字签名等操作。对称加密算法是指加密和解密使用相同的密钥,常见的对称加密算法有DES、3DES、AES等。

2023-05-17 10:20:29 1171 1

原创 rdkafka应用场景和具体接口调用

Rdkafka作为一种高性能、可扩展、可靠的消息队列,广泛应用于大数据处理、日志收集、消息推送等多个领域。Rdkafka是一种高性能、开源、分布式的消息队列,它主要应用于大数据领域、日志收集、消息推送等场景。日志收集:Rdkafka可根据规则采集服务器、网站、网络设备等各种日志,存到消息队列中进行集中管理和统一分析。消息推送:Rdkafka支持灵活的消息推送方式,满足多种推送需求,如即时通讯、游戏推送、新闻推送等。其他:Rdkafka还可应用于监控告警、分布式计算等领域,具有广泛的应用前景。

2023-05-17 08:45:50 423 1

原创 RdKafka源码的基本解析

消费者API主要函数有rd_kafka_subscribe()和rd_kafka_poll(),前者用于订阅一个或多个topics,后者用于从Kafka broker获取消息并触发消息回调函数。rd_kafka_conf_s:表示了一个Kafka实例的配置项,如broker.list、message.timeout.ms等。RdKafka库中主要使用了三种数据结构:rd_kafka_s、rd_topic_partition_list_s和rd_kafka_conf_s。消费者订阅一个或多个topics。

2023-05-16 16:21:20 318

原创 HTTP协议——从底层实现原理到应用场景

本篇博客详细讲解了HTTP协议的工作流程、请求消息格式、响应消息格式、状态码、缺点和应用场景等方面的内容,希望对读者有所帮助。响应头:响应头与请求头类似,包含了服务器向客户端发送的一些附加信息,例如允许的MIME类型、服务器支持的语言类型等。互联网通信:HTTP协议是互联网通信的基础,通过HTTP协议可以实现不同计算机之间的数据传输。请求行:请求行由三个部分组成,分别是请求方法、请求URL和HTTP协议的版本。HTTP协议的请求消息由三个部分组成:请求行、请求头和请求体。

2023-05-16 11:58:25 539

原创 Linux下Kafka技术的使用

可以根据需要进行调整,例如修改Zookeeper的地址、端口等信息,以及Kafka的监听地址、端口等信息。然后启动Kafka服务即可。Kafka中的数据单元是消息,每条消息包含一个键和一个值,可以根据需要定义多个分区,每个分区对应一个主题(Topic),多个分区可以组成一个分区集合(Partition)。Kafka支持数据副本,将数据复制到多个Broker中,确保即使出现故障,数据也不会丢失,提高了系统的容错能力。Kafka支持数据分区,可以根据需要对不同的消息进行分区处理,提高消息的处理效率和并发性。

2023-05-16 11:45:36 280

原创 不使用SSH,也不依赖其他库,需要在C++程序中实现SFTP协议。

这个库可以用于实现SFTP上传和下载操作,而且支持多种身份验证方法(包括用户名密码和公钥认证),因此可以通过这个库轻松地完成上面所述的整个操作流程。需要注意的是,这里使用的是用户名密码认证方式,但libssh2也支持其他身份验证方式,如公钥认证等。对于更复杂的SFTP操作,还可以使用libssh2库中提供的更多功能函数,进行目录操作、文件上传和删除等操作。通过这个示例代码,你可以简单地了解到如何使用libssh2库来实现基于SFTP协议的文件下载操作。整个流程比较繁琐,需要手动编码实现协议细节。

2023-05-16 09:05:53 1562 3

原创 c++实现linux tcpdump功能

在 Linux 中,可以使用套接字(socket)和 libpcap 库来实现类似 tcpdump 的功能。libpcap 库提供了捕获网络数据包的接口,而使用套接字则可以将捕获到的数据包发送到指定目的地。函数中,我们首先通过偏移量获取 IP 报文头和 TCP 报文头,然后判断是否为 TCP 报文。如果是,我们将打印源地址、目标地址和目标端口等信息。在上面的代码中,我们使用了 libpcap 库提供的。将被调用,可以在该回调函数中对数据包进行处理。函数打开指定网卡的捕获接口,并使用。在程序中,我们使用了。

2023-05-15 17:36:52 380

原创 Linux 常用的操作指令

本文介绍了 Linux 中常用的文件操作、系统管理、网络管理等方面的操作指令。掌握这些指令是学习 Linux 的基础,也是进行 Linux 系统管理和开发的必备技能。希望本文对你有所帮助!

2023-05-15 16:13:24 82

原创 C++ 库中的 libssh 和 libssh2

在 Linux 上,SSH 是一种非常常用的远程登录协议。除了使用 ssh 命令行工具之外,我们还可以在 C++ 程序中使用 SSH 客户端库来实现远程登录和文件传输等功能。本文就来介绍两个常用的 C++ SSH 客户端库:libssh 和 libssh2。

2023-05-15 09:51:49 5268 2

转载 scons使用

scons入门

2023-04-24 11:02:49 278 2

MobaXterm.zip

MobaXterm.zip

2021-12-17

suse11gcc安装包.zip

离线安装gcc所需的rpm,只需下载后解压,在文件夹内执行rpm -Uvh *.rpm --nodeps --force即可

2021-01-26

空空如也

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

TA关注的人

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