Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Net lib based on boost.asio

NotificationsYou must be signed in to change notification settings

Ninokz/NBlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro.

🐂🍺NBlib: 基于Boost.Asio 的 C++ 网络库。该库提供了基础的服务器和客户端实现,支持多线程任务调度与管理,学习使用;

Cat.

Design.

Features.

  • 多线程支持:包括简单线程池和任务窃取线程池等(SimpleThreadPoolStealThreadPool),用于高效的任务调度和并行处理。
  • 网络通信:基于Boost.Asio 的服务器和客户端实现 (BaseServerBaseClient),支持异步 I/O 和高并发连接处理。
  • 线程管理:线程池管理(如ioservicepool.hsimplelenThreadPool.h 等),支持多线程环境下的资源管理和调度。
  • 日志系统:提供基础的异步日志记录工具 (log.h)。
  • 配置管理:支持配置文件的加载和解析 (config.h)工具,方便管理应用的配置选项。
  • 单例模式:提供单例模式模板 (singleton.h),用于全局对象的管理。

Dep.

Make.

Visual Studio

该项目包含NBlib.vcxproj 文件,可以通过 Visual Studio 直接打开并构建:

  1. 打开 Visual Studio。
  2. 选择 "打开项目/解决方案"。
  3. 选择NBlib.vcxproj 文件。
  4. 在项目属性中设置 Boost 库的路径。
  5. 生成解决方案即可。

CMake

你也可以通过创建一个适配的CMakeLists.txt 文件来编译此项目,确保包含 Boost 库:

  1. 创建CMakeLists.txt 文件:

    cmake_minimum_required(VERSION 3.10)project(NBlib)set(CMAKE_CXX_STANDARD 11)find_package(Boost REQUIRED COMPONENTSsystem thread)include_directories(${Boost_INCLUDE_DIRS})file(GLOBSOURCES"*.cpp""*.h")add_executable(NBlib${SOURCES})target_link_libraries(NBlib${Boost_LIBRARIES})
  2. 在项目根目录执行以下命令:

    mkdir buildcd buildcmake ..make

File Stru.

  • BaseClient.cpp /BaseClient.h:基于 Boost.Asio 的基础客户端实现,支持异步 I/O 操作。
  • BaseServer.cpp /BaseServer.h:基于 Boost.Asio 的基础服务器实现,支持并发的客户端连接处理。
  • concurrentqueue.h:并发队列的实现,支持多线程环境下的高效数据交换。
  • simplethreadpool.cpp /simplethreadpool.h:简单线程池实现,用于基本的任务并行处理。
  • stealThreadPool.cpp /stealThreadPool.h:任务窃取线程池实现,支持负载均衡和多线程任务窃取。
  • ioservicepool.cpp /ioservicepool.h:基于 Boost.Asio 的 IO 服务线程池,用于管理多个 I/O 操作。
  • config.cpp /config.h:配置管理模块,支持从配置文件加载和解析应用的配置项。
  • log.cpp /log.h:日志系统,提供简单的日志记录功能。
  • packet.cpp /packet.h:网络数据包类
  • session.cpp /session.h:会话管理类,用于管理与客户端的连接。
  • singleton.h:单例模式模板,用于全局对象的管理。
  • test.h:测试相关的头文件,可能包含一些测试用例或测试框架的设置。

Ref.

About

Net lib based on boost.asio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp