libevent下载与安装学习整理

Libevent安装和使用 1、Libevent简介 livevent是一个轻量级的开源的高性能的事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。Libevent是用于编写高速可移植非阻塞IO应用的库。 2、Libevent安装 ubuntu@VM-0-7-ubuntu:~/Project$ wget https://github.com/libevent/libevent/releases/download/release-2.1.10 阅读详情


一、libevent下载

官方网站:http://libevent.org/
在这里插入图片描述
下载最新版本: libevent-2.1.12-stable.tar.gz

二、libevent安装

如下图所示,由于安装过程中会报:configure: error: openssl is a must but can not be found. You should add the directory containing `openssl.pc' to the `PKG_CONFIG_PATH' environment variable, or set `CFLAGS' and `LDFLAGS' directly for openssl, or use `--disable-openssl' to disable support for openssl encryption。

说明安装的libevent库依赖openssl库, 因此在安装libevent之前要安装openssl库

在这里插入图片描述
在这里插入图片描述

1.下载安装openssl库

  1. 到官网下载openssl,此处选择的openssl-1.1.1o.tar.gz, 官网地址:https://www.openssl.org/source/old/
  2. 将下载的文件移动到主目录下:
    将username替换为自己的用户名
mv openssl-1.1.1o.tar.gz /home/username
  1. 到移动后的目录下打开终端,解压文件,并修改解压后的文件夹的名字
tar -zxvf openssl-1.1.1o.tar.gz
mv openssl-1.1.1o openssl
  1. 切换到解压目录下
cd openssl
  1. 创建安装目录:
sudo mkdir /usr/local/openssl
  1. 指定安装目录
./config --prefix=/usr/local/openssl
  1. 进行编译
sudo make
  1. 进行安装
sudo make install
  1. 安装完成后,编辑环境变量
# 进入文件/etc/profile
sudo vi /etc/profile

# 在文件最后加上如下代码
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/openssl/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/openssl/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/openssl/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib

然后我们查看openssl的信息:
在这里插入图片描述
 可以看到,输入openssl指令后,下面执行的可执行程序为1.1.1,这是Ubuntu系统原先自带的openssl库,这个库是没有头文件与库文件的,开发人员进行相关开发的时候是没办法使用的,但是通过安装openssl库,我们在日后的开发中就可以调用了。安装完成后,可执行程序依然是旧版,但是其内部调用的库是刚安装的显示的这个2022年的

2.安装libevent

  1. 将下载的libevent-2.1.12-stable.tar.gz安装包上传到主目录下:
mv libevent-2.1.12-stable.tar.gz /home/username
  1. 解压安装包
tar -zxvf libevent-2.1.12-stable.tar.gz
  1. 创建文件夹, 用于指定libevent的安装目录
sudo mkdir /usr/lib/libevent
  1. 进入libevent-2.1.8文件夹
cd libevent-2.1.12-stable/
  1. 配置文件:
./configure -prefix=/usr/lib/libevent

在这里插入图片描述

  1. 编译
make

7.安装到系统的指定目录

sudo make install	//不是root权限必须sudo

安装完成后,察看/usr/lib/libevent目录下面是否生成相应的文件
在这里插入图片描述
可以拿hello-world程序用来测试。

服务端:

./hello-world
客户端:

netcat 127.0.0.1 9995

连接成功后,服务端显示:
在这里插入图片描述
客户端接收到服务端发送的消息:hello world
在这里插入图片描述


三、参考

Ubuntu安装openssl: link

Linux(ubuntu)安装libevent: link

安装libevent库(基于openssl1.1版本) libevent库安装 linux系统网络编程 出错问题解决 阅读详情

相关推荐

嵌入式Linux系统libevent异步事件库的移植

1 什么是libevent 首先大家思考一个问题,你的产品开发过程中,是否使用了多线程?是否加了很多线程锁??如果没有多线程,功能能否实现得了???然后我们看看一般工程师得开发方式,比如你的程序需要和串口通信,需要和TCP服务器交互,需要和其它进程通信,所以只能开3个线程去处理这些东西;好一点得工程师还能想到用线程池加负载均衡的方式,但还是多线程!为什么会这样?因为多线程是处理异步事件的一种方法,而这种方法在嵌入式上的开发是不能容忍的。那有没有一种很好的处理异步事件的开源库而且只要一个线程(主进程本身),

HomeByte的博客 938

Linux下载安装libevent

Linux下完整版Libevent下载与安装

potato18_的博客 789

FastDFS文档整理与研究

FastDFS文档整理与研究 目录 1.      简介.... 4 1.1系统概述.... 4 1.2 适用场合.... 4 1.3 组成部分及其作用.... 4 2. 系统安装配置步骤.... 4 2.1环境预约.... 4 2.2 安装libevent. 5 2.2.1卸载原有的linevent. 5 2.2.2安装现有的linevent.

fd315063004的专栏 1万+

【在Linux系统上安装libevent库】

Libevent是一个高性能事件通知库,它在网络编程中非常有用。它可以用于开发各种网络应用程序,包括服务器和客户端。在本篇博客中,我们将介绍如何在Linux系统上安装libevent库,以便你可以开始编写高性能的网络应用程序。你可以使用包管理器来安装这些工具。如果你看到libevent的版本号,那么安装已经成功完成。你可以从libevent的官方网站(

Guojiahui的博客 3282

FastDFS与libevent-2.1.11集成实战:构建高性能分布式文件存储集群

分布式文件系统是解决海量小文件存储挑战的核心技术,其通过将文件分散存储在多个节点上,实现数据的高可用与水平扩展。其高性能的关键在于高效的网络通信模型,而事件驱动架构正是实现高并发的经典范式。libevent作为一个成熟的高性能事件通知库,封装了epoll等底层I/O复用机制,为网络应用提供了统一的异步编程接口,能显著提升连接处理能力,具有极高的技术价值。在图片、文档附件等海量小文件存储场景中,FastDFS作为轻量级分布式文件系统,通过与特定版本的libevent(如稳定的2.1.11)深度集成,能够有效优

weixin_33696106的博客 401

libevent-2.1.12-stable.tar.gz

libevent-2.1.12-stable.tar.gz

ubuntu 编译安装libevent

最近在学习研究音视频服务搭建,本人对于C++、Linux都不是特别懂,在此整理一下学习中遇到的问题,以供后面参考。 1、下载 wget -c addr --no-check-certificate -c:可以断点续传 addr:libevent的下载地址: https://libevent.org/ 打开官网后,找到下载区域,点击右键,选择复制链接地址,替代命令中的addr即可 --no-check-certificate:不对证书进行校验 2、下载好之后,解压文件 tar -z

Crisf的博客 586

MMORPG网络游戏开发之任务系统的架构与设计

在网路游戏中做任务已经成为游戏很重要的一个核心功能和玩法,如何做好一个灵活可扩展的任务系统的架构与设计,今天来给大家分享一些我们的设计经验。接下来我把整个的任务系统分成以下6个模块:对于单机游戏而言,这6个模块都放在客户端直接处理,对于网路游戏而言,模块1~5实现在服务端,模块6实现在客户端。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事unity开发的技术大佬,欢迎你来交流学习。...

voidinit的专栏 3049

centos 编译libevent_yum安装编译环境

...下载地址:http://pecl.php.net/package/event安装支持库libevent,需要编译高版本(这里以最新版本release-2.1.8-stable为例)wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.t...

weixin_39932611的博客 257

大模型训练(1):流水线并行

Gpipe的方法是,在训练时计算和运用的是micro-batch里的均值和方差,但同时持续追踪全部mini-batch的移动平均和方差,以便在测试阶段进行使用。流水线并行的核心思想是:在模型并行的基础上,进一步引入数据并行的办法,即把原先的数据再划分成若干个更小的batch,分批送入GPU进行训练,算一部分就让下一个GPU动起来。从实验结果可知,在关掉NVlinks的情况下,Gpipe一样也能实现随着GPU数量的增加,训练速度也增加的效果。前文说过,随着模型的增加,每块GPU中存储的中间结果也会越大。

呆呆象呆呆的博客 1970

在C++中,NULL和nullptr有什么区别?

这两个定义导致了冲突,C++中的NULL如果和C语言一样也是(void *)0指针,而C++不允许void*隐式转换成其它指针类型,那NULL就无法表示空指针了。因此,使用 nullptr可以增加代码的清晰性,避免类型安全问题。即使在混合C++和C代码时,nullptr也提供了一个明确无误的空指针表示,达到兼容的目的。C++11 引入 nullptr 彻底解决了这些问题,提高语言的安全性、清晰性和现代性。在了解NULL和nullptr背后的故事之后,相信大家以后再也不会用NULL了。

hebhljdx的博客 678

Linux环境下,安装libevent库

最近在进行网络编程的学习,在安装libevent库时,遇到了各种各样的问题。最后通过一条条的去搜索问题关键字,费尽千辛万苦,终于完成了安装,也能够成功的运行起来其中所提供的案例代码。所以在这里将各种零碎的问题以及解决方案整理一下,帮助大家顺心地完成安装。

xyz_unknown的博客 1913

matlab SAR图像的多视滤波

单视复数数据(Single Look Comple)是原始的最高分辨率数据,但是从单个像元散射的雷达回波信号的相干叠加,导致强度信息有很多噪声。SAR的多视处理是对SLC数据方位向和/或距离向做平均,得到的结果是多视后的强度数据。多视处理可以提高SAR图像的信噪比,有效抑制斑点噪声,但是会降低方位分辨率。

点云侠的博客 534

Libevent学习:介绍与安装

参考: 官网:http://libevent.org http://blog.youkuaiyun.com/sparkliang/article/details/4957667 http://blog.youkuaiyun.com/majianfei1023/article/details/464857051. Libevent简介Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚。Libeven

yvhqbat的博客 917

一种基于机载LiDAR点云电力线自动提取方法

文章目录一、引言二、算法实现2.1实现步骤2.2实现代码 一、引言 二、算法实现 2.1实现步骤 (1)首先采用首先采用高程滤波方法去除地面点和低矮地物点,滤波后的点云数据中除电力线点云外还含部分杆塔点、高植被点和噪声点。 (2)根据点云空间维度特征提取电力线点,使用空间密度聚类的方法实现单根电力线精确分离。 2.2实现代码 在这里插入代码片 ...

dayuhaitang1的博客 5170

交换机初始化配置详解

MGMT或称MGT(Management Port,管理端口)是一个可以连接计算机的三层主机端口,如下图所示。只需使用一条双绞线跳线,就可以将计算机的以太网端口与交换机的MGMT端口连接在一起,实现对交换机的配置与管理。也就是说,可以使用MGMT端口代替Console端口实现对交换机或交换机堆叠的网络管理。MGMT端口既可用于交换机的初始化,也可以在交换机初始化完成后,以Telnet、Web浏览器或Cisco CNA方式进行管理。当将计算机连接到独立的交换机时,连接方式如下图所示。

悦分享 1993

高性能IO框架库libevent(一):libevent框架安装和使用流程概括

libevent 开源。精简。跨平台(Windows、Linux、maxos、unix)。专注于网络通信。学习libevent有助于提升程序设计功力,除了网络程序设计方面外,Libevent的代码里有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、c语言的多态支持、链表和堆等等,都有助于提升自身的程序功力。因此一定要看Libevent的代码程序设计不止要了解框架,很多细节之处恰恰也是事关整个系统成败的关键。只对libevent本身的框架大概了解,那或许仅仅是一知半解,不深入代码分析,就难以了解其设

baidu_41553551的博客 914

【系统分析师】高分论文:论软件需求验证方法及应用

本文以某清算平台建设项目为例,探讨了软件需求验证方法的应用。该项目旨在隔离银行与支付公司的直接通信,满足央行监管要求。作为系统分析师,作者通过需求测试和需求评审两种方法确保需求质量。需求测试采用概念测试用例提前发现问题;需求评审通过正式与非正式形式多方确认需求。项目结合邮件评审、专家会议等方式,最终形成完善的需求文档。平台上线后运行良好,验证了需求管理的重要性。该案例表明,科学的需求验证是项目成功的关键保障。

数据知道的博客 8125

libevent源码深度剖析pdf

libevent源码深度剖析pdf 去发现同类优质开源项目:https://gitcode.com/ 此资源文件为《libevent源码深度剖析》系列文章的整合版本,我们将博客中的连载文章整理成了一个便于阅读的PDF文件,旨在帮助广大开发者更深入地理解和掌握libevent的源码结构和实现原理。 文件特点 文章全部采用中文撰写,便于国内开发者阅读和理解。 内容系统全面,从libevent的基本概...

gitblog_06726的博客 469

诊断数据库ODX标准协议ISO22901定义组成部分

综上所述,简略描述了ODX数据库中UML/XML/Text/Check rules具体功能以及详细内容。

Soly_kun的博客 907

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VS调试Libevent流程(待实践验证整理--19-0602)

https://www.cnblogs.com/foundwant/p/4424391.html VS调试Libevent流程 : 下载源码包: libevent-2.0.20-stable.tar.gz 第一:编译libevent 进入VS2010命令提示,切换到libevent的所在目录 nmake /f Makefile.nmake 编译成功生成 libevent....

happylzs2008的专栏 442

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

libevent源码分析

libevent源码分析作者博客地址:http://blog.youkuaiyun.com/luotuo44 电子书制作:Kelvin Yin (yinkangxi#gmail.com) 电子书下载:libevent源码分析.pdf 在学习libevent源代码的时候,从网上找到了luotuo44写的《libevent源码分析》系列博客,觉得写得很好,和我写文档的风格一致。

kelvin_yin的专栏 377

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

libevent源代码初识及目录结构分析

1.libevent源代码获取 最新代码直接从libevent的github即可,链接如下: https://github.com/libevent/libevent 编译方法在该github介绍页说的很详细了,这里不再多说。 2.libevent源代码的目录结构 我们下载下来源代码以后,看到有很多文件,很多目录,往往不知道从何入手,我一开始也是这样,后来我花时间把每个目录和一些主要的文件内容弄明...

cpp加油站的专栏 454

从Hello World到TCP服务器:libevent新手第一篇完整教程

libevent(Libevent)是一款开源的 C 语言**事件通知库**(Event notification library),用于开发高并发的网络服务器。它把"等待文件描述符可读、等待超时、等待信号"这些繁琐的非阻塞 IO 操作封装成统一的事件循环(Event Loop),让开发者只需注册回调函数,就能轻松构建可扩展的 TCP/UDP 服务。本教程带你从编译安装开始,一步步用 libeve

gitblog_00946的博客 359

Ubuntu下libevent编译安装与性能优化指南

事件驱动编程是现代高性能服务器开发的核心技术之一,其通过事件循环机制实现非阻塞I/O操作。libevent作为跨平台的事件通知库,采用Reactor模式处理网络事件,显著提升程序吞吐量。在Linux环境下,通过源码编译安装可以针对特定CPU架构进行优化,配合epoll等高效事件机制,能够构建出支持C10K级别并发的网络服务。本文以Ubuntu系统为例,详细演示从依赖检查、源码编译到性能调优的全流程,特别针对openssl依赖缺失、多版本冲突等典型问题提供解决方案,并介绍jemalloc内存优化、线程安全配置

weixin_28834169的博客 53

libevent安全使用指南:常见陷阱与最佳实践清单

libevent 是一款轻量级、跨平台的事件通知库(Event notification library),广泛用于高并发网络服务器、游戏网关、代理工具等场景。它通过 epoll、kqueue、I/O 完成端口等机制高效处理成千上万个并发连接,但也正因如此,libevent 安全使用稍有不慎就可能引入内存越界、拒绝服务(DoS)、资源泄漏等隐患。本文面向新手和普通用户,整理了一份 libevent

gitblog_00341的博客 237
上一篇: 线性表的顺序表示与实现
下一篇: libevent之bufferevent事件学习
@SuBen
博客等级 码龄9年 2粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值