NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::tcp_server类 参考final

TCP服务器类 更多...

#include <tcp_server.hpp>

类 neforce::tcp_server 继承关系图:
[图例]

Public 成员函数

 tcp_server_base (ports port, io_context &ctx, size_t worker_count=0)
 构造函数
Public 成员函数 继承自 neforce::tcp_server_base
 tcp_server_base (ports port, io_context &ctx, size_t worker_count=0)
 构造函数
virtual ~tcp_server_base ()
 析构函数
bool set_client_handler (client_handler_t handler)
 设置客户端处理器
bool set_exception_handler (exception_handler_t handler)
 设置异常处理器
virtual bool start (int backlog=SOMAXCONN) noexcept
 启动服务器
void stop ()
 停止服务器
bool is_running () const noexcept
 检查服务器是否运行中
ports port () const noexcept
 获取监听端口

额外继承的成员函数

Public 类型 继承自 neforce::tcp_server_base
using client_handler_t = function<void(unique_ptr<tcp_socket>)>
 客户端处理器类型
using exception_handler_t = function<void(const exception&)>
 异常处理器类型
Protected 成员函数 继承自 neforce::tcp_server_base
void accept_loop ()
 接受连接的主循环
virtual void handle_client (unique_ptr< tcp_socket > client)
 处理单个客户端连接
Protected 属性 继承自 neforce::tcp_server_base
unique_ptr< tcp_acceptoracceptor_
 TCP接受器
io_contextctx_
 异步 I/O 执行上下文
unique_ptr< io_context::workctx_work_
 io_context 工作守卫
ports port_
 监听端口
atomic< bool > running_ {false}
 运行标志
vector< threadworker_threads_
 工作线程列表(含 accept 线程)
size_t worker_count_
 工作线程数
client_handler_t client_handler_
 客户端处理器
exception_handler_t exception_handler_
 异常处理器
mutex acceptor_mutex_
 TCP接受器互斥锁

详细描述

TCP服务器类

实现普通TCP服务器,使用tcp_acceptor接受连接。

主要功能:

  • TCP服务器启动和停止
  • SSL/TLS服务器支持
  • 线程池处理客户端连接
  • 非阻塞连接接受
  • 自定义客户端处理器
  • 异常处理回调

在文件 tcp_server.hpp173 行定义.

成员函数说明

◆ tcp_server_base()

neforce::tcp_server_base::tcp_server_base ( ports port,
io_context & ctx,
size_t worker_count = 0 )
explicit

构造函数

参数
port监听端口
ctx异步 I/O 执行上下文
worker_count工作线程数(默认最大)
异常
value_exceptionworker_count为0时抛出

该类的文档由以下文件生成: