libevent

Cross Compiling libevent for Android

匿名 (未验证) 提交于 2019-12-03 02:47:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm stuck trying to cross-compile libevent to Android and I'd like to know what I'm doing wrong and get some assistance. The version I'm trying to build is libevent-2.0.19-stable I started following the steps described at http://warpedtimes.wordpress.com/2010/02/03/building-open-source-libraries-with-android-ndk/ and how to rewrite the Makefile into android.mk? The Target Device is a Samsung Galaxy S2 running cyanogenMod 7 After several attempts, the best I did was by running the following steps: 1) Install android NDK and download libevent

CentOS上安装Memcache及问题解决

自古美人都是妖i 提交于 2019-12-03 02:02:17
本文记录一次在CentOS上安装Memcache的过程,其中也包含了安装过程中遇到的错误以及相应的解决方法。 Libevent安装 可以访问 libevent.org 网站下载最新的libevent,本文使用的是 libevent-2.0.22-stable ,将下载的tar.gz包放到自己想安装的目录下。 解压缩 [root@dev18 libevent]# tar -zvxf libevent-2.0.22-stable.tar.gz ./configure 进入解压后的目录,执行 ./configure [root@dev18 libevent]# cd libevent-2.0.22-stable [root@dev18 libevent]# ./configure 执行后,部分配置显示的内容如下: checking for struct addrinfo... yes checking for struct sockaddr_storage... yes checking for struct in6_addr.s6_addr32... yes checking for struct in6_addr.s6_addr16... yes checking for struct sockaddr_in.sin_len... no checking for struct

Node.js for lua?

家住魔仙堡 提交于 2019-12-03 01:58:00
问题 I've been playing around with node.js (nodejs) for the past few day and it is fantastic. As far as I can tell, lua doesn't have a similar integration of libev and libio which let's one avoid almost any blocking calls and interact with the network and the filesystem in an asynchronous manner. I'm slowly porting my java implementation to nodejs, but I'm shocked that luajit is much faster than v8 JavaScript AND uses far less memory! I imagine writing my server in such an environment (very fast

libevent

匿名 (未验证) 提交于 2019-12-03 00:40:02
对于一个服务器程序,流程基本是这样的: 1. 创建socket,bind,listen,设置为非阻塞模式 2. 创建一个event_base,即   struct event_base * event_base_new ( void) 3. 创建一个event,将该socket托管给event_base,指定要监听的事件类型,并绑定上相应的回调函数(及需要给它的参数)。   struct event * event_new (struct event_base *base, evutil_socket_t fd, short events, void (*cb) ( evutil_socket_t, short, void *), void *arg) 4. 启用该事件    int event_add (struct event *ev, const struct timeval *tv) 5. 进入事件循环   int event_base_dispatch (struct event_base *event_base) libevent 原文:https://www.cnblogs.com/henryliublog/p/9278975.html

7、《Libevent中文帮助文档》学习笔记7:事件循环

匿名 (未验证) 提交于 2019-12-03 00:09:02
1 运行循环 有了event_base,并且有一些 event注册到其中 (关于怎样创建和注册event请参考下一章节),就需要 等待这些event ֪ͨ 你他们发生了什么 。 接口 #define EVLOOP_ONCE 0x01 #define EVLOOP_NONBLOCK 0x02 #define EVLOOP_NO_EXIT_ON_EMPTY 0x04 int event_base_loop ( struct event_base * base , int flags ); 通常event_base_loop()函数 运行一个event_base直到其中再无event注册进来 。循环运行,然后不断重复判断是否有已经注册的event触发(例如如果读event的文件描述符准备读或者event的超时即将到来)。一旦这些情况发生,就会标记所有的触发event为 激活状态 ,然后开始 运行这些事件 (比喻读IO)。 设置flags参数一个或多个标记可改变event_base_loop()的行为。设置EVLOOP_ONCE循环将会由event激活,然后运行这些event,直到再无event后返回。设置EVLOOP_ONCE循环不会再等待有event触发,只会检查是否有event做好准备立刻触发,有则运行其回调函数。 通常没有等待的或者已经激活的event循环将退出

ubuntu16 升级 tmux 2.9

匿名 (未验证) 提交于 2019-12-02 23:32:01
# 首先需要安装这个库 # http://libevent.org/ wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz tar -zxvf libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable bash configure make -j 4 sudo make install # 链接 ln -s /usr/local/lib/libevent-2.1.so.6 /lib64/libevent-2.1.so.6 # 然后下载tmux # https://github.com/tmux/tmux/wiki cd wget https://github.com/tmux/tmux/releases/download/2.9/tmux-2.9.tar.gz tar -zxvf tmux-2.9.tar.gz cd tmux-2.9 bash configure make -j4 sudo make install # 检查tmux版本 tmux -V

libevent的安装与使用

匿名 (未验证) 提交于 2019-12-02 23:32:01
在 github 上git clone 的 libevent 安装前需要运行脚本 ./autogen.sh 但是依然安装失败(待解决) 1. 在 libevent 官网上下载了 2.1.8的稳定版,解压 2. 执行 ./configure --prefix=/usr make make install 后安装动态库到 /usr/lib 中 3. 在编译程序时,加上 -levent (lib代表库去掉,.so 代表动态库去掉。真正的库名是 event)

超详细搭建Memcached主主复制+Keepalived高可用架构

匿名 (未验证) 提交于 2019-12-02 22:56:40
简介 Memcached本身是基于内存的缓存,它的设计本身没有冗余机制。如果一个Memcached节点失去了所有的数据,应用程序可以从数据源中再次获取到数据,可以使用开源软件Magent实现Memcached集群,通过Magen缓存代理,防止单点现象。缓存代理也可以做备份,可以用keepalived软件实现高可用 实验环境 主机名 操作系统 IP地址 相关软件 master CentOS_7.4_x86_64 192.168.100.71 libevent-2.1.8-stable.tar.gz;memcached-1.5.6.tar.gz;magent-0.5.tar.gz backuper CentOS_7.4_x86_64 192.168.100.72 libevent-2.1.8-stable.tar.gz;memcached-1.5.6.tar.gz; client CentOS_7.4_x86_64 192.168.100.73 telnet软件 搭建步骤 一、配置主机 1、安装libevent [root@master ~]# tar xvfz libevent-2.1.8-stable.tar.gz [root@master ~]# cd libevent-2.1.8-stable/ [root@master libevent-2.1.8-stable]# .

memcached+magent+keepalived实现高可用群集

匿名 (未验证) 提交于 2019-12-02 22:56:40
magent代理的用途: 如果memcached其中一个缓存节点的机器down机,那么客户端存入的缓存数据将会丢失一部分,我们可以采用 Magent 缓存代理,防止单点现象,缓存代理也可以做备份,通过客户端连接到缓存代理服务器,缓存代理服务器连接缓存服务器,缓存代理服务器可以连接多台Memcached机器,这样就能实现实现高可用以及防止单点故障。 keepalived的用途: 但是如果magent代理服务器宕机了,就不能继续提供服务,所以就用到了keepalived,通过keepalived配置文件设置优先级来决定谁做主magent或者从magent,当主magent正常运行时vip在主magent,当主magent宕机vip自动换到从magent,主magent恢复后vip自动回到主magent上。 实验准备 magent代理与memcached服务装在同一台主机上,仅做实验参考。 主机 ϵͳ IP 角色 软件 memcached 1 CentOS 7 192.168.100.130 主节点 memcached-1.5.6.tar.gz、libevent-2.1.8-stable.tar.gz magent 1 CentOS 7 192.168.100.130 主代理服务器 magent-0.5.tar.gz memcached 2 CentOS 7 192.168.100