ubuntu安装libevent2.0.20

ubuntu搭建libevent环境 0x00 环境预热 linux环境:ubuntu16.0 libevent版本:libevent-2.0.21-stable 0x01 ubuntu下安装libevent  1.先进入指定文档 reacher@ubuntu:/$ cd /tmp/libevent-2.0.21-stable 2.开始配置 ./configure --pre 阅读详情

1.是否安装

安装了的话应该是这样的:如果不是,那就装一下。

chen@chen-book1:~/libevent20$ ls -al /usr/lib |grep libevent

lrwxrwxrwx   1 root root           21 2013-06-07 10:43 libevent-2.0.so.5 -> libevent-2.0.so.5.1.4
-rw-r--r--   1 root root       281472 2011-07-08 08:28 libevent-2.0.so.5.1.1
-rwxr-xr-x   1 root root       814018 2013-06-07 10:43 libevent-2.0.so.5.1.4
-rw-r--r--   1 root root      1144276 2013-06-07 10:43 libevent.a
lrwxrwxrwx   1 root root           26 2013-06-07 10:43 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.4
-rwxr-xr-x   1 root root       493956 2013-06-07 10:43 libevent_core-2.0.so.5.1.4
-rw-r--r--   1 root root       716442 2013-06-07 10:43 libevent_core.a
-rwxr-xr-x   1 root root          983 2013-06-07 10:43 libevent_core.la
lrwxrwxrwx   1 root root           26 2013-06-07 10:43 libevent_core.so -> libevent_core-2.0.so.5.1.4
lrwxrwxrwx   1 root root           27 2013-06-07 10:43 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.4
-rwxr-xr-x   1 root root       337896 2013-06-07 10:43 libevent_extra-2.0.so.5.1.4
-rw-r--r--   1 root root       427906 2013-06-07 10:43 libevent_extra.a
-rwxr-xr-x   1 root root          990 2013-06-07 10:43 libevent_extra.la
lrwxrwxrwx   1 root root           27 2013-06-07 10:43 libevent_extra.so -> libevent_extra-2.0.so.5.1.4
-rwxr-xr-x   1 root root          948 2013-06-07 10:43 libevent.la
lrwxrwxrwx   1 root root           30 2013-06-07 10:43 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.4
-rwxr-xr-x   1 root root        19138 2013-06-07 10:43 libevent_pthreads-2.0.so.5.1.4
-rw-r--r--   1 root root        12226 2013-06-07 10:43 libevent_pthreads.a
-rwxr-xr-x   1 root root         1011 2013-06-07 10:43 libevent_pthreads.la
lrwxrwxrwx   1 root root           30 2013-06-07 10:43 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.4
lrwxrwxrwx   1 root root           21 2013-06-07 10:43 libevent.so -> libevent-2.0.so.5.1.4

2.下载

http://libevent.org/

3.安装

解压;

进入目录;

./configure –prefix=/usr         配置目录

make

sudo make install

4.验证

chen@chen-book1:~/libevent20$ ls -al /usr/lib |grep libevent

lrwxrwxrwx   1 root root           21 2013-06-07 10:43 libevent-2.0.so.5 -> libevent-2.0.so.5.1.4
-rw-r--r--   1 root root       281472 2011-07-08 08:28 libevent-2.0.so.5.1.1
-rwxr-xr-x   1 root root       814018 2013-06-07 10:43 libevent-2.0.so.5.1.4
-rw-r--r--   1 root root      1144276 2013-06-07 10:43 libevent.a
lrwxrwxrwx   1 root root           26 2013-06-07 10:43 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.4
-rwxr-xr-x   1 root root       493956 2013-06-07 10:43 libevent_core-2.0.so.5.1.4
-rw-r--r--   1 root root       716442 2013-06-07 10:43 libevent_core.a
-rwxr-xr-x   1 root root          983 2013-06-07 10:43 libevent_core.la
lrwxrwxrwx   1 root root           26 2013-06-07 10:43 libevent_core.so -> libevent_core-2.0.so.5.1.4
lrwxrwxrwx   1 root root           27 2013-06-07 10:43 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.4
-rwxr-xr-x   1 root root       337896 2013-06-07 10:43 libevent_extra-2.0.so.5.1.4
-rw-r--r--   1 root root       427906 2013-06-07 10:43 libevent_extra.a
-rwxr-xr-x   1 root root          990 2013-06-07 10:43 libevent_extra.la
lrwxrwxrwx   1 root root           27 2013-06-07 10:43 libevent_extra.so -> libevent_extra-2.0.so.5.1.4
-rwxr-xr-x   1 root root          948 2013-06-07 10:43 libevent.la
lrwxrwxrwx   1 root root           30 2013-06-07 10:43 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.4
-rwxr-xr-x   1 root root        19138 2013-06-07 10:43 libevent_pthreads-2.0.so.5.1.4
-rw-r--r--   1 root root        12226 2013-06-07 10:43 libevent_pthreads.a
-rwxr-xr-x   1 root root         1011 2013-06-07 10:43 libevent_pthreads.la
lrwxrwxrwx   1 root root           30 2013-06-07 10:43 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.4

lrwxrwxrwx   1 root root           21 2013-06-07 10:43 libevent.so -> libevent-2.0.so.5.1.4


5.测试

服务器端ser.c

#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdio.h>
#include <string.h>
#include <event.h>
#include <stdlib.h>

#define PORT        25341
#define BACKLOG     5
#define MEM_SIZE    1024

struct event_base* base;
struct sock_ev
{
    struct event* read_ev;
    struct event* write_ev;
    char* buffer;
};

void release_sock_event(struct sock_ev* ev)
{
    event_del(ev->read_ev);
    free(ev->read_ev);
    free(ev->write_ev);
    free(ev->buffer);
    free(ev);
}

void on_write(int sock, short event, void* arg)
{
    char* buffer = (char*)arg;
    send(sock, buffer, strlen(buffer), 0);

    free(buffer);
}

void on_read(int sock, short event, void* arg)
{
    struct event* write_ev;
    int size;
    struct sock_ev* ev = (struct sock_ev*)arg;
    ev->buffer = (char*)malloc(MEM_SIZE);
    bzero(ev->buffer, MEM_SIZE);
    size = recv(sock, ev->buffer, MEM_SIZE, 0);
    printf("receive data:%s, size:%d\n", ev->buffer, size);
    if (size == 0) 
    {
        release_sock_event(ev);
        close(sock);
        return;
    }
    event_set(ev->write_ev, sock, EV_WRITE, on_write, ev->buffer);
    event_base_set(base, ev->write_ev);
    event_add(ev->write_ev, NULL);
}

void on_accept(int sock, short event, void* arg)
{
    struct sockaddr_in cli_addr;
    int newfd, sin_size;
    struct sock_ev* ev = (struct sock_ev*)malloc(sizeof(struct sock_ev));
    ev->read_ev = (struct event*)malloc(sizeof(struct event));
    ev->write_ev = (struct event*)malloc(sizeof(struct event));
    sin_size = sizeof(struct sockaddr_in);
    newfd = accept(sock, (struct sockaddr*)&cli_addr, &sin_size);
    event_set(ev->read_ev, newfd, EV_READ|EV_PERSIST, on_read, ev);
    event_base_set(base, ev->read_ev);
    event_add(ev->read_ev, NULL);
}

int main(int argc, char* argv[])
{
    struct sockaddr_in my_addr;
    int sock;

    sock = socket(AF_INET, SOCK_STREAM, 0);
    int yes = 1;
    setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
    memset(&my_addr, 0, sizeof(my_addr));
    my_addr.sin_family = AF_INET;
    my_addr.sin_port = htons(PORT);
    my_addr.sin_addr.s_addr = INADDR_ANY;
    bind(sock, (struct sockaddr*)&my_addr, sizeof(struct sockaddr));
    listen(sock, BACKLOG);

    struct event listen_ev;
    base = event_base_new();
    event_set(&listen_ev, sock, EV_READ|EV_PERSIST, on_accept, NULL);
    event_base_set(base, &listen_ev);
    event_add(&listen_ev, NULL);
    event_base_dispatch(base);

    return 0;
}
客户端echo_client.c:

#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <netdb.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <string.h>
#define cerror(str) do{perror(str); exit(EXIT_FAILURE); }while(0)

static int port; 
static char addr[256];
static int nlen;
static char msg[]="hello\n";
int main(int argc, char*argv[])
{
    
    int fd;
    struct sockaddr_in sin;
    
    memset(&sin, 0, sizeof(sin));
    sin.sin_family = AF_INET;
  
    if(argc<3)
    {
        port = 8888;
    }else
    {
        port = atoi(argv[2]);
    }
    
    sin.sin_port = htons(port);
    
    if(argc<2)
    {
        strcpy(addr, argv[1]);
        if (inet_pton(AF_INET, addr, &(sin.sin_addr) )<0)
        {
             struct hostent *psh;  
             psh=gethostbyname(addr);
             if(psh!=NULL)
                inet_pton(AF_INET, psh->h_addr, &(sin.sin_addr) );
             else
                cerror("inet_pton");
        }
    }
    
    if((fd=socket(AF_INET, SOCK_STREAM, 0))<0)
        cerror("socket");
    
    if(connect(fd, (struct sockaddr*)&sin, sizeof(sin))<0 )
        cerror("sonnect");
    
    if( (nlen = write(fd,msg, strlen(msg)))<0 )
        cerror("write");
        
    if( (nlen = read(fd,msg, strlen(msg)))<0 )
        cerror("read");
    msg[nlen]='\0';
    printf("msg: %s\n", msg);
    return 0;
}

编译

chen@chen-book1:~/libevent20/sample$ gcc echo_client.c -o client
chen@chen-book1:~/libevent20/sample$ gcc ser.c -o ser -levent
chen@chen-book1:~/libevent20/sample$ ./ser &
[1] 6995
chen@chen-book1:~/libevent20/sample$ ./client localhost 25341
receive data:hello
, size:6
msg: hello

receive data:, size:0
chen@chen-book1:~/libevent20/sample$ ./client localhost 25341
receive data:hello
, size:6
msg: hello


代码和安装程序下载链接:

http://download.youkuaiyun.com/detail/fall221/5537153




【xquic】ubuntu 20.04 : boringssl 、CUnit、libevent 、xquic 构建 BUILDING boringssl 需要go 类似: wget -c https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local 我用了1.18 https://go.dev/dl/go1.18.linux-amd64.tar.gz root@k8s-master-2K4G:/opt# vi /etc/profile root@k8s-master-2K4G:/opt# so.. 阅读详情

相关推荐

libevent2.1.7在Linux安装过程

libevent2.1.7在Linux安装过程

Ubuntu20.04 安装 libevent

Ubuntu20.04 安装 libevent

qq_62381297的博客 1173

点云工具CloudCompare下载、安装与汉化

打开软件后,是英文界面,找到菜单栏【Display】-【Language Translation】,选择简体中文。进入官网后,点击菜单栏【Download】提示需要重启软件才能生效,点OK即可。重启软件后,已经是中文了。选择合适系统进行下载。常规软件安装流程即可。

sagima_sdu的博客 1万+

Ubuntu下Libevent 2.1.11安装

第一步:使用命令下载压缩包。第五步:测试是否已安装。第三步:配置安装路径。

qq_69459941的博客 481

CLion与STM32CubeMX联调:JLink GDB Server高效调试指南

本文详细介绍了如何搭建并配置CLion、STM32CubeMX与JLink GDB Server联调的现代化STM32开发环境。通过一站式环境搭建、工程创建、核心调试配置及高级技巧(如RTT日志),该组合实现了高效的代码编辑、可视化配置与稳定调试,大幅提升嵌入式开发效率与体验。

web99的专栏 258

电路板功能测试系统-FCT for PCBA

电路板功能测试系统用于电路板组件(PCBA)的功能测试(FCT),满足自动化大批量生产的要求。  ● 用户根据自己需要定义测试步骤,灵活方便  ● 适合工业自动化大批量生产应用  ● 系统测试精度高,稳定可靠   一、电路板功能测试系统概述 电路板测试过程通常由多个步骤组成,每单个步骤中需要对多个物理量(电压、电流、电阻、频率、波形等)进行测试。在每个步骤测试时

6813

libevent2从入门到原理解读(1):安装及使用

一、编译构建 libevent是一个用c编写的高性能网络框架,通过简单的封装,就能构造自己的应用服务器,从https://libevent.org就能下载到相应的版本tar包。 因为我们要在linux系统中使用,所以找到一个linux环境,编译并使用它: ./configure --prefix=/root/libevent/libevent-2.1.12-stable 先用configure二进制文件发起检查,没问题了就可以了。 然后进入cmake文件夹 cmake .. &&am

六六先森的博客 1695

AD9361 官方例程详解(一)

文章目录前言一、pandas是什么?二、使用步骤总结 前言 一、pandas是什么? 二、使用步骤 总结

weixin_44630490的博客 4万+

在Ubuntu 18.04下安装libevent以及一些问题解决

error while loading shared libraries: libevent-2.1.so.7: cannot open shared object file

m0_75034791的博客 1069

通过轻量级图像增强Transformer (IAT) 提升YOLOv8在低光环境下的检测性能

随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。

博客 1214

YOLOv11改进 | 损失函数改进篇 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数

这篇文章介绍了YOLOv11的重大改进,特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体,如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU,还融合了“Focus”思想,创造了一系列新的损失函数。这些组合形式的损失函数超过了二十余种,每种都针对特定的目标检测挑战进行优化。文章会详细探讨这些损失函数如何提高YOLOv11在各种检测任务中的性能,包括提升精度、加快收敛速度和增强模型对复杂场景的适应性。

Snu77的博客 6195

c++--ubuntu-libevent2-高并发服务器

在ubuntu下 用libevent2库 写了一个高并发服务器。一个可用的demo程序,供大家参考。

aggie4628的专栏 627

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

weixin_43567873的博客 298

Ubuntu安装libevent2.0.20

1.是否安装 安装了的话应该是这样的:如果不是,那就装一下。 chen@chen-book1:~/libevent20$ ls -al /usr/lib |grep libevent lrwxrwxrwx   1 root root           21 2013-06-07 10:43 libevent-2.0.so.5 -> libevent-2.0.so.5.1.4

559

拉曼光谱入门:10.显微拉曼与共聚焦技术

本文系统阐述了显微拉曼光谱技术与共聚焦原理的融合机制,详细解析了从激光激发、针孔空间滤波到光谱采集的完整光路架构,阐明了共聚焦设计在提升三维空间分辨率、抑制荧光背景及实现微区无损层析方面的核心优势,并探讨了关键光学器件的性能边界与系统技术局限。

qq_53529450的博客 168

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Ubuntu下装memcache

时间:2021-8-8 ubuntu-20.04.2.0 在一个全新的ubuntu虚拟机上装memcache 一条被验证可以的通路: 1.先装libevent(注意版本要求libevent2) 下载地址是:http://libevent.org/ wgethttp://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz tar -zxvflibevent-2.0.10-stable.tar.gz cdlibevent-2.0.10-...

嘤嘤怪的博客 270

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

安装libevent ubuntu下

1.是否安装 安装了的话应该是这样的:如果不是,那就装一下。 chen@chen-book1:~/libevent20$ ls -al /usr/lib |grep libevent lrwxrwxrwx   1 root root           21 2013-06-07 10:43 libevent-2.0.so.5 -> libevent-2.0.so.5.1.4

secret 861

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

libevent在ubuntu安装方法

apt-get install libevent-dev 转载于:https://www.cnblogs.com/woshare/p/4845216.html

weixin_33721427的博客 292

CentOS-6.4 安装 Memcached

1、准备文件 cd /usr/src   最新版下载地址 :http://code.google.com/p/memcached/downloads/list     wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz wget http://cloud.github.com/downloads/l...

weixin_33923762的博客 70

Ubuntu安装libevent(libevent-2.0.21-stable)及各种出错的解决方案

最近学习服务器开发,libevent是一个轻量级的高性能I/O框架库,通过使用、分析libevent可以很好的学习网络编程,同时在阅读libevent源码的过程中可以提高自己的编程技巧和代码架构能力。当然了,首先要做的工作就是安装libevent,我从官网下载了libevent-2.0.21和libevent-1.4.15两个版本,对于使用来说还是新版的比较好,但新版的结构比较庞杂,代码量比较大,对

日影月痕的博客 1万+

环境搭建 Linux:Ubuntu 配置 libevent环境

# https://blog.csdn.net/qq_31776303/article/details/79834618 sudo apt-get install make sudo apt-get install libtool sudo apt-get install automake sudo apt-get install unzip # https://www.jianshu.com/p/578dc82b06cc sudo apt install openssl libssl-de

_Tsun 的博客 597

【Libevent】Ubuntu安装libevent报错问题解决

00. 目录 文章目录00. 目录01. 问题描述02. 问题分析03. 问题解决04. 附录 01. 问题描述 编译libevent的时候报一下错误: make make all-recursive make[1]: Entering directory `/libevent-2.0.21-stable' Making all in . make[2]: Entering directory `/libevent-2.0.21-stable' /bin/bash ./libtool --tag=CC

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 3182

Ubuntu安装及测试Libevent

在官网下载最新的libevent安装包: 直接下载: http://libevent.org/ 在当前目录下解压安装包: tar -zxvf libevent-xxxx.tzr.gz cd libevent-2.0.22-stable 配置安装库的目标路径: ./configure --prefix=/usr 编译安装libevent库: make sudo make install ...

... 2790

ubuntu安装libevent2.0.21

1.是否安装 安装了的话应该是这样的:如果不是,那就装一下。 chen@chen-book1:~/libevent20$ ls -al /usr/lib |grep libevent lrwxrwxrwx   1 root root           21 2013-06-07 10:43 libevent-2.0.so.5 -> libevent-2.0.so.5.1.4

sunboy2718的专栏 877

Ubuntu 18.04 通过源码编译安装libevent库

0. 下载安装gcc和make Ubuntu 18.04默认没有安装GCC和make,很烦人。 $sudo apt install gcc g++ make 已经安装的大佬自行跳过。 1.下载libevent库源代码 点击下面的连接进入libevent官网。 libevent官网 找到Download–Stable releases,选择一个你喜欢的releases版本,点击下载。 等待下载完...

lwylhh的博客 2615

ubuntu下载安装libevent

官网上下载最新稳定版本,然后拖到你的linux系统中,解压。或者可是使用wget在线下载。本文下载的是最新版本,其他版本同操作。上述程序,捕捉2号信号,并设置捕捉超时时间5秒。ubuntu下载安装libevent。若出现下面的文件,则安装成功。进入解压后的目录,执行。

weixin_48617416的博客 1320
上一篇: java在Ubuntu下的开发环境搭建
下一篇: operator new【STL】
纯属虚构
博客等级 码龄17年 86粉丝 194原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值