ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
asio_tcp.h File Reference

基于Asio的TCP acceptor和会话管理。 More...

#include "tools/tools/tools_thread.h"
#include "tools/serialize/pack.h"
#include "tools/log/nlog.h"
#include "net/asio_base.h"
#include <atomic>
#include <memory>

Classes

class  ngl::asio_tcp
 基于Asio的TCP网络管理类。 More...

Typedefs

using ngl::tcp_callback = std::function<bool(service_tcp*, const char*, uint32_t)>
 TCP数据接收回调函数类型。
using ngl::tcp_closecallback = std::function<void(i32_sessionid)>
 TCP连接关闭回调函数类型。
using ngl::tcp_connectcallback = std::function<void(i32_sessionid)>
 TCP连接建立回调函数类型。
using ngl::tcp_sendfinishcallback = std::function<void(i32_sessionid, bool, const pack*)>
 TCP发送完成回调函数类型。

Detailed Description

基于Asio的TCP acceptor和会话管理。

本文件定义了基于Boost.Asio的TCP网络层核心类asio_tcp,提供以下功能:

  • TCP服务器的监听和接受连接
  • TCP客户端的连接建立
  • 网络会话的创建和管理
  • 异步数据发送和接收
  • 连接关闭和清理

该类是TCP网络层的底层实现,为上层的ntcp类提供具体的网络操作支持。

Typedef Documentation

◆ tcp_callback

using ngl::tcp_callback = std::function<bool(service_tcp*, const char*, uint32_t)>

TCP数据接收回调函数类型。

Parameters
service_tcp服务TCP对象指针
data接收到的数据缓冲区
length数据长度
Returns
处理成功返回true,否则返回false

◆ tcp_closecallback

using ngl::tcp_closecallback = std::function<void(i32_sessionid)>

TCP连接关闭回调函数类型。

Parameters
sessionid关闭的会话ID

◆ tcp_connectcallback

using ngl::tcp_connectcallback = std::function<void(i32_sessionid)>

TCP连接建立回调函数类型。

Parameters
sessionid建立的会话ID

◆ tcp_sendfinishcallback

using ngl::tcp_sendfinishcallback = std::function<void(i32_sessionid, bool, const pack*)>

TCP发送完成回调函数类型。

Parameters
sessionid发送的会话ID
success发送是否成功
pack发送的数据包指针