大佬多年前写的:link
基于大佬的,改成了windows版的,用了更新的Libevent API
后面把tcp多线程服务器写好也会发出来,若有误/改进点,往指正
#include <iostream>
#include <string>
#include <thread>
#include <event2/event.h>
#include <event.h>
#include <event2/thread.h>
#include <windows.h>
#include <winsock2.h>
#include <mutex>
#include <vector>
#include <atomic>
#include <future> // 用于std::async
#pragma comment(lib, "Iphlpapi.lib")
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "event.lib")
#pragma comment(lib, "event_core.lib")
#pragma comment(lib, "event_extra.lib")
#pragma comment(lib, "bcrypt.lib")
// RAII风格的类,用于管理WSA的初始化和清理
class WSAInitializer {
public:
WSAInitializer() {
if (WSAStartup(MAKEWORD(2, 2), &wsaData) !