c++使用libevent写的httpserver

这篇博客展示了如何使用C++和libevent库来编写一个功能完善的HTTP服务器。代码经过测试,确保可用。为了增强功能,还引入了JSON开源库,但如果不使用JSON,可以轻松移除相关代码。
摘要由CSDN通过智能技术生成

直接上代码:测试过可用。需要下载libevent库搭配着使用。外加json开源库(也可以不用,去掉相关代码即可。)


// .h
#pragma once

class HttpServer
{
public:
	HttpServer();
	~HttpServer();

	static HttpServer* Instance(){ return m_instance; }

	void StartListen(int httpPort); // 监听端口

private:
	int httpserver_bindsocket(int port, int backlog);
	void* httpserver_Dispatch(void *arg);	

	bool Linsten(int httpPort);
private:

	static HttpServer* m_instance;
	class AutoDel
	{
	public:
		~AutoDel()
		{
			if (m_instance != nullptr)
			{
				delete m_instance;
				m_instance = nullptr;
			}
		}
	};
	static AutoDel m_del;
};


//.cpp  

#include <time.h>
#include <thread>
#include <Winsock2.h>
#include "event2/event.h"
#include "event2/buffer.h"
#include "event2/http.h"
#include "evhttp.h"
#include "json\include\reader.h"
#include "json\include\writer.h"
#include "HttpServer.h"


// libevent库需要用到
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值