自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员的自我修养

积跬步 积小流

  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

翻译 Libevent:6辅助函数以及类型

在头文件中定义了许多有用的函数和类型来帮助实现可移植的程序。Libevent在内部使用这些类型和函数。 一:基本类型evutil_socket_t         除了Windows之外的大多数系统,socket就是一个整数,而且操作系统按照数值顺序对它们进行处理。而在Windows socket API中,socket是SOCKET类型,该类型是一个类似于指针的OS句柄,而且得到

2015-01-25 10:37:47 1019

翻译 Libevent:5events相关

Libevents的基本操作单元是event,每一个event代表了一些条件的集合,这些条件包括:文件描述符已经准备好读或写文件描述符正在变为就绪,准备好读或写(仅限于边沿触发)超时事件信号发生用户触发事件          events都有类似的生命周期。一旦调用Libevent函数创建好event,并将其关联到一个event_base之后,他就是“已初始化”状态(i

2015-01-25 10:32:52 824

翻译 Libevent:4event loop

一:运行loop                一旦一些events在event_base注册之后(下一节会讨论如何创建和注册events),就可以使Libevent等待events,并且在events准备好时能够通知你。#define EVLOOP_ONCE             0x01#define EVLOOP_NONBLOCK         0x02#define E

2015-01-19 21:53:49 1918

翻译 Libevent:3创建event_base

在使用Libevent函数之前,需要分配一个或多个event_base结构。每一个event_base都持有一个events的集合,并且可以检测那些events是激活的。         如果设置event_base可以使用锁,那event_base是可以安全的在多线程环境中使用,但是,只能在单个的线程中进行event_base的loop。如果希望在多线程中进行IO轮询,那就需要每个线程都有一

2015-01-18 19:11:29 1932

翻译 Libevent:2设置

Libevent有一些整个进程共享的全局设置。这些设置会影响到整个的库。因此必须在调用Libevent其他函数之前进行设置,否则,LIbevent就会陷入不一致的状态。 一:Libevent中的日志信息         Libevent可以记录内部的error和warning信息,而且如果在编译时设置的话,它还可以记录debug消息。默认情况下,这些信息都会写到stderr中。可以通过

2015-01-08 17:17:32 694

转载 Libevent:1前言

一:libevent概述:libevent是一个用来编写快速、可移植、非阻塞IO程序的库,它的设计目标是:可移植性、高效、可扩展性、便捷。 libevent包含下列组件:evutil:对不同平台下的网络实现的差异进行抽象;event、event_base:libevent的核心。为各种平台特定的、基于事件的非阻塞IO后端提供抽象API,让程序可以知道套接字何时已经准备好读或写,

2015-01-06 16:52:25 528

翻译 Libevent:0异步IO简介

一:异步IO简介    大多数的初级编程者都是从阻塞IO调用开始网络编程的。阻塞(同步)IO调用指的是:调用会一直阻塞,不会返回,直到发生下面两种情况之一。要么操作完成,要么经历相当长的时间,网络协议栈自己放弃。    比如,当在TCP连接上调用connect时,操作系统会发送SYN包到TCP的远端主机。connect会一直阻塞而不返回,直到它接收到了远端主机发来的SYN+ACK包,或者经

2015-01-06 09:15:50 831

柔性数组成员

C99中引入了柔性数组成员的概念。C99 中,结构体中的最后一个元素允许是未知大小的数组,称为柔性数组成员(flexible array member),柔性数组成员前面必须至少还有一个其他成员,而且柔性数组成员必须是结构体的最后一个成员。一个包含柔性数组成员的结构体或(递归的)包含这样结构体的联合体,不能成为一个结构体的成员或数组的元素。

2018-09-26

空空如也

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

TA关注的人

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