Windows下Libeveent网络编程
Windows下Libevent网络开发,代码从浅到深。包含自己写的libevent收图程序
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
小米的修行之路
是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。
展开
-
一种windows下Libevent框架
一、主要流程1、程序启动,开启监听服务,开启IO线程服务,开启日志服务:bool zzcServMgr::start(unsigned int listen_port){ if (listen_port <= 0 || listen_port >= 65534) { LOG("zzcServMgr::start:listen_port = %d, is error....原创 2020-01-14 16:20:05 · 460 阅读 · 0 评论 -
Libevent---windows多线程服务器再封装
1、zzcServer类,用于完成对客户端连接的监听操作:.h文件:#pragma once#include "event2/event.h"#include "event2/listener.h"#include "event2/thread.h"class zzcServer{public: zzcServer(void); ~zzcServer(void); ...原创 2019-06-18 10:27:31 · 1102 阅读 · 0 评论 -
Libevent---基于zlib压缩和解压缩的文件传输
一、客户端与服务器端之间文件传输的简单协议:1)、客户端:连接建立后,先发送不进行压缩的文件名称;收到“OK”回复消息后,再发送进行压缩操作的文件的内容。2)、客户端:先接收文件名称,然后回复客户端“OK”,在接收文件内容并对文件内容进行解压缩。二、1、客户端实现:// bufferevent_filter_zlib_cllient.cpp : 定义控制台应用程序的入口点。...原创 2019-06-13 18:50:17 · 1512 阅读 · 0 评论 -
Libevent---bufferevent过滤器
// Bufferevent_Filter_Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "event.h"#include "event2/listener.h"#include "event2/bufferevent.h"#include "iostream"using namespace std;//数据收...原创 2019-06-10 09:53:13 · 599 阅读 · 0 评论 -
Libevent---bufferevent简单的客户端模式
// Bufferevent_Client_Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "winsock2.h"#include "event.h"#include "event2/bufferevent.h"void read_cb(struct bufferevent *bev, void *ctx){ p...原创 2019-06-05 14:24:21 · 735 阅读 · 0 评论 -
Libevent---bufferevent读取数据
// BufferEvent_Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "winsock2.h"#include "event.h"#include "event2/listener.h"#include "event2/bufferevent.h"#include "iostream"using names...原创 2019-06-04 16:24:31 · 1886 阅读 · 0 评论 -
Libevent---接收客户端数据示例
// Server_Listen_Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "winsock2.h"#include "event.h"#include "iostream"using namespace std;#define SPORT 5001 //数据接收回调函数void receive_cb(e...原创 2019-05-31 16:35:28 · 873 阅读 · 0 评论 -
Libevent---定时器使用示例
// Libevent_Timer_Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "winsock2.h"#include "event.h"#include "iostream"using namespace std;//时间间隔1秒钟static timeval t1 = {1,0};static time...原创 2019-05-31 14:58:42 · 1058 阅读 · 0 评论 -
Libevent---监听客户端连接示例
#include "stdafx.h"#include "winsock2.h"#include "event.h"#include "iostream"using namespace std;#define SPORT 5001 void listen_cb(evutil_socket_t s,short w, void *arg){ cout<<"listen...原创 2019-05-31 13:43:50 · 962 阅读 · 0 评论 -
Libevent:配置event_base
文章来源:https://blog.csdn.net/luotuo44/article/details/38443569#t5前面的博文都是讲一些Libevent的一些辅助结构,现在来讲一下关键结构体:event_base。这里作一个提醒,在阅读Libevent源码时,会经常看到backend这个单词。其直译是“后端”。实际上其指的是Libevent内部使用的多路IO...转载 2019-05-27 17:11:54 · 710 阅读 · 0 评论 -
libevent集成zlib的配置
1、打开test目录下的Makefile.nmake文件,一次进行如下图的添加修改:2、打开E:\Libevent\libevent-master\WIN32-Code\nmake\event2\event-config.h文件,添加如下代码:3、编译:nmake /f Makefile.nmake4、使用vs命令提示工具,进入到 cdE:\Libevent\libevent...原创 2019-05-24 16:02:34 · 620 阅读 · 0 评论 -
libevent库编译2
一 依赖库编译先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到。1)windows 平台使用 VS2017 编译 openssl 源码参考前面的文章 openssl 默认编译到 C:\Program Files (x86)\OpenSSL 目录,包含收文件,lib文件和dll文件,...转载 2019-05-24 14:57:21 · 873 阅读 · 0 评论 -
openssl的配置
1、首先需要下载并安装ActivePerl。下载地址:https://www.activestate.com/activeperl。安装的时候直接下一步即可。2、下载NASM。下载地址:https://www.nasm.us/。下载完成后只需解压,然后将解压后的文件夹目录添加到系统的环境变量中(path)即可。3、下载openssl。下载地址:http://slproweb.com/p...原创 2019-05-24 14:27:32 · 747 阅读 · 0 评论 -
zlib库的配置
1、下载zlib库最新版:http://www.zlib.net/2、下载好的库进行解压。打开vs2010的命令提示工具,注意编译32位的库要使用对应的vs的命令提示工具(因为有好几个命令提示工具)。其次,在提示工具中进入到解压缩的目录中(cd ......)。最后,进行解压缩:nmake /f win32-makefile.msc。如下图操作:3、第二种方法,使用批处...原创 2019-05-24 14:09:40 · 1490 阅读 · 0 评论 -
Libevent中文参考手册和代码
1、里面含有中文参考手册、Libevent源码解析、自己编写的高并发多线程服务端框架。。。等等。2、下载地址:https://download.csdn.net/download/u012372584/10792725...原创 2018-11-19 08:58:50 · 2496 阅读 · 0 评论 -
windows下Libevent的多线程封装(以文件传输为例)
1、主线程负责监听,子线程负责响应连接,同时每个子线程增加了链表来管理连接进来的客户端,将上一节中的内存管理类也封装进去。总体框架是不变的。2、封装类的实现:#pragma once#include "winsock2.h"#include "event2/listener.h"#include "event2/thread.h"#include "event2/bufferev...原创 2018-11-16 14:30:11 · 1606 阅读 · 2 评论 -
windows下Libevent +多线程(负载均衡分配法) 之文件传输
一、先说一下服务端的流程:1、主线程负责监听客户端的连接;2、当有客户端连接时,主线程通过管道向相应的子线程发送监听套接字描述符,子线程通过负载均衡法选择出来;3、当主线程发送监听描述符时,子线程的读管道回调函数会被回调;4、子线程为收到的监听描述符设置读取回调、写回调、事件回调等回调函数;5、子线程通过开启的事件循环,循环监听第4步的事件,并回调相应的回调函数。二、客户端...原创 2018-11-13 14:54:47 · 1798 阅读 · 4 评论 -
windows下 Libevent +多线程 实现文件传输
1、模式:来一个客户端连接进来,服务端就开启一个处理线程。2、缺点:对大量的客户端情况不适用。大量客户端的情况需要加入线程管理机制。// LibeventTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "winsock2.h"#include <process.h> #include "event2/l...原创 2018-11-12 09:32:22 · 2314 阅读 · 0 评论 -
一个简单的Libevent客户端和服务器
1、项目配置:1)新建一个Lib文件夹和一个Include文件夹,放置到程序目录下;2)拷贝libevent-2.1.8-stable\include目录下的文件和文件夹到Include文件夹下,拷贝libevent-2.1.8-stable\WIN32-Code目录下的文件和文件夹也到Include文件夹下,同时将两个event2文件夹下的头文件合并;3)将自己上一节编译的3个静态连...原创 2018-11-07 17:28:38 · 2414 阅读 · 0 评论 -
编译libevent库
Libevent库下载地址:http://libevent.org/1、编译环境:windowXP + Vs2010.(1)解压libevent库到:G:\libevent\libevent-2.1.8-stable.(2)打开Microsoft visual studio 2010命令行工具.(3)修改以下三个文件,添加宏定义: 在以下3个文件开头添加“#de...原创 2018-11-07 09:12:31 · 1373 阅读 · 0 评论