사천 치 팟 캐스트] [Libevent 연구 노트 (A) : 소개 및 설치

00 목차

@

01. libevent 프로필

libevent는 무엇인가

Libevent은 주로 다음과 하이라이트의 C 언어, 고성능 이벤트 알림의 경량, 오픈 소스 라이브러리입니다 : 이벤트 기반 (이벤트 기반), 고성능, 경량, 네트워크에 초점을 맞추고, 그것은 ACE에 더 비 대한, 소스 코드는 매우 세련 읽기 쉬운, 크로스 플랫폼 윈도우, 리눅스, * BSD 및 Mac OS 지원,이 I / O 멀티플렉싱, epoll에, 여론 조사, 개발 / 설문 조사, 선택 및 kqueue 등의 다양한 지원; 등록 이벤트 우선, I / O, 타이머 및 이벤트 신호 등을 지원한다.

크롬, Memcached가, NTP, HTTPSQS 다른 잘 알려진 오픈 소스 프로그램은 libevent의 안정성을 보여줍니다 libevent 라이브러리를 사용합니다. 더 많은 프로그램을 볼 수있는 공식 웹 사이트에 libevent libevent를 사용할 수 있습니다.

libevent 주요 구성 요소

이벤트 관리, 캐시 관리, DNS, HTTP, 여러 부분의 캐싱 이벤트를 포함 libevent. 이벤트 관리는 IO (소켓), 타이머, 신호 및 기타 사고의 다양성을 포함한다 캐시 관리 evbuffer 기능을 의미한다; DNS DNS는 libevent가 제공하는 비동기 쿼리 기능이며, HTTP는 경량 HTTP 서버 및 클라이언트를 포함 libevent를 달성하다 끝. 또한 SSL을 지원 libevent,이 프로그램은 네트워크 보안 요구에 매우 중요하지만, 그 지원은 SSL을 지원하지 않습니다 실현 HTTP 서버로, 완벽하지 않습니다.

libevent 핵심 구현

반응기 (반응기) 모드 libevent의 코어 프레임 워크이다 libevent 이벤트 구동은 자동 콜백 기능을 트리거한다. 소스는 epoll 반응기를 도입하기 전에 libevent 아웃에서 추출됩니다.

02. Libevent 혜택

뿐만 아니라, 학습 프로그램 설계 기술을 향상시킬 수 Libevent 도움은 정보 은폐, 함수 포인터, 다중 상태 지원 C 언어 목록과 힙 많은 유용한 디자인 팁 및 기본 데이터 구조, 거기에 Libevent 코드의 측면을 프로그래밍 네트워크에 등, 모두 다 자신의 언어 능력을 개선하는 데 도움이

프레임 워크를 프로그래밍하는 것은 성공의 전체 시스템 키와 관련이 정확히 무엇의 세부 사항의 많은 이상을 이해합니다. 만 프레임 워크가 아마 조금 지식의 자체 아마 알고 libevent, 코드없이 심층 분석, 자사의 컴팩트 한 디자인의 자리를 이해하기 어렵다, 그것은 자신의 사용에 대한 어렵다.

03. Libevent 설치 및 테스트

공식 웹 사이트 : http://libevent.org

소스 패키지를 다운로드 :

    • 1.4.x의 시리즈는 이전 버전, 학습을위한 소스 코드
    • 2.X 시리즈, 버전 1.4보다 코드가 더 많은 최신 버전의 더 나은 기능.

예를 들어, 소스 패키지 libevent-2.0.22-stable.tar.gz의 공식 웹 사이트에서 다운로드 할 수 있습니다, 2.0.22 버전으로 소스 패키지를 설치, 기본 설치 단계는 기본적으로 타사 라이브러리 소스 패키지 설치와 동일합니다.

다음 설치 단계는 다음과 같습니다

첫 번째 단계 : 감압

덩 @의 itcast : ~ $ 타르 -xvf libevent-2.0.22-stable.tar.gz

단계 : 해당 디렉토리로 이동

덩 @의 itcast : ~ $의 CD를 libevent-2.0.22 안정 /

세 번째 단계 : 환경을 검출하는 단계, 생성 메이크

덩 @의 itcast : ~ / libevent-2.0.22 안정 $의 ./configure를

4 단계 : 컴파일 된 동적 및 정적 라이브러리

덩 @의 itcast : ~ / libevent-2.0.22 안정 $ 메이크업

5 단계 : 설치 관리자 권한을 사용하십시오

덩 @의 itcast : ~ / libevent-2.0.22 안정 $ sudo를 설치하게

6 단계 : 안녕하세요 세계 테스트 실행

덩 @의 itcast : ~ / libevent-2.0.22 안정 $ CD를 샘플 /

itcast @ 덩 : ~ / libevent-2.0.22 안정 / 샘플 $의 PWD의
/home/deng/libevent-2.0.22-stable/sample

덩 @의 itcast : ~ / libevent-2.0.22 안정 / 샘플 $의 ./hello-world

다른 터미널을 열고 다음 명령을 입력

itcast @ 덩 : 192.168.73.44 9995 NC ~ / libevent-2.0.22 안정 / 샘플 $
안녕하세요, 세계!

안녕하세요이 표시되면, 세계! 소프트웨어 설치가 확인 노트 ..

라이브러리 디렉토리 를 / usr / local / lib로

헤더 파일의 디렉토리 : / usr / 지방 /를 포함

04. Libevent 성공 스토리

  • 크롬 - (Mac 및 Linux Libevent)에 구글의 오픈 소스 웹 브라우저
  • Memcached가 - 고성능 분산 메모리 오브젝트 캐싱 시스템
  • 전송 - 빠르고 간단하고 무료로 비트 토런트 클라이언트
  • NTP는 - (Libevent에서 사용하기에 SNTP)의 시계 올바른 네트워크 시간 프로토콜을
  • TMUX - 깨끗하고 현대적인, BSD 라이선스 터미널 멀티플렉서, GNU 비슷한 화면
  • 토르 - 익명의 인터넷 통신 시스템.
  • libevhtp 빠르고 유연한 대안에 http libevent 클라이언트 / 서버 API의 -
  • 운율 - 루아 재버 / XMPP 서버 작성
  • PgBouncer - PostgreSQL의 연결 풀 경량에게
  • redsocks - 간단한 투명 TCP -> SOCKS5 / HTTPS 프록시 데몬.
  • 크롤링 작고 효율적인 HTTP 크롤러를
  • libIO의 - 입력 / 출력 추상화 라이브러리
  • Honeyd - 가상 허니넷 데몬 -하는 데 사용할 수있는 인터넷 웜 싸움 .
  • 는 fragroute - IDS 테스트 도구
  • 나일론 - 중첩 된 프록시 서버
  • 당황하게 느슨하게 워크 스테이션에 결합 된 분산 컴퓨팅 프레임 워크를 -.
  • watchcatd - 일반적인 솔루션과 달리, 그 과감한 조치를 취할 기계를 재설정하도록 설계된 소프트웨어 감시.
  • Scanssh - 빠른 SSH 서버 오픈 프록시 스캐너.
  • Nttlscan - Honeyd 네트워크 토폴로지 스캐너.
  • NetChat - netcat을 조합 PPP와 채팅 할 수 있습니다.
  • IO - 작은 프로그래밍 언어, 네트워크 통신을 위해 사용 libevent.
  • 은 Systrace - 시스템은 샌드 박스를 호출합니다.
  • SpyBye은 - 페이지에 악성 코드를 감지합니다.
  • GreenSQL - SQL 데이터베이스 방화벽.
  • dnsscan - 빠른 스캐너 오픈 재귀 DNS 확인을 확인하는
  • 이벤트 KARGO - libevent의 PHP 확장.
  • 스키 테일 - 데이터베이스 암호화 도구의 한 종류.

추천

출처www.cnblogs.com/szitcast/p/10963742.html