ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::asio_ws Class Reference

基于Boost.Beast的WebSocket网络管理类。 More...

#include <asio_ws.h>

Public Types

enum  { ews_connect_interval = 1 , ews_default_recvbuff = 20480 }
 WebSocket配置常量枚举。 More...

Public Member Functions

 asio_ws (i16_port aport, i32_threadsize athread, bool ause_tls, const ws_callback &acallfun, const ws_closecallback &aclosefun, const ws_sendfinishcallback &asendfinishfun, const ws_tls_options &atls_options={})
 构造一个在指定端口监听的WebSocket服务端。
 asio_ws (const net_listen_endpoint &alisten, i32_threadsize athread, bool ause_tls, const ws_callback &acallfun, const ws_closecallback &aclosefun, const ws_sendfinishcallback &asendfinishfun, const ws_tls_options &atls_options={})
 asio_ws (i32_threadsize athread, bool ause_tls, const ws_callback &acallfun, const ws_closecallback &aclosefun, const ws_sendfinishcallback &asendfinishfun, const ws_tls_options &atls_options={})
 构造一个无监听socket的WebSocket客户端池。
i16_port port () const
service_wsconnect (const str_host &ahost, i16_port aport, const std::string &atarget, const ws_connectcallback &afun, int acount=5)
service_wsconnect (const str_host &ahost, i16_port aport, const ws_connectcallback &afun, int acount=5)
template<typename T>
bool spack (i32_sessionid asessionid, std::shared_ptr< T > &apack)
bool send (i32_sessionid asessionid, std::shared_ptr< pack > &apack)
bool send (i32_sessionid asessionid, std::shared_ptr< void > &apack)
void close (i32_sessionid sessionid)
void close (service_ws *asession)
void close_net (i32_sessionid sessionid)
bool get_ipport (i32_sessionid asessionid, std::pair< str_ip, i16_port > &apair)
bool exist_session (i32_sessionid asessionid)
void set_close (i32_sessionid asession, const std::function< void()> &afun)

Detailed Description

基于Boost.Beast的WebSocket网络管理类。

提供完整的WebSocket服务器和客户端功能,包括:

  • 监听和接受客户端连接
  • 建立到服务器的连接
  • 支持普通WebSocket和TLS WebSocket(WSS)
  • WebSocket帧的异步读写
  • 管理网络会话生命周期
  • 连接关闭和资源清理
Note
该类不可复制,不可默认构造,必须通过指定参数构造。
使用Boost.Beast作为底层WebSocket库,提供高性能的异步网络操作。

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

WebSocket配置常量枚举。

Enumerator
ews_connect_interval 

连接重试间隔(秒)

ews_default_recvbuff 

默认接收缓冲区大小

Constructor & Destructor Documentation

◆ asio_ws() [1/2]

ngl::asio_ws::asio_ws ( i16_port aport,
i32_threadsize athread,
bool ause_tls,
const ws_callback & acallfun,
const ws_closecallback & aclosefun,
const ws_sendfinishcallback & asendfinishfun,
const ws_tls_options & atls_options = {} )

构造一个在指定端口监听的WebSocket服务端。

Parameters
aport监听端口号
athread工作线程数量
ause_tls是否启用TLS(WSS)
acallfun数据接收回调函数
aclosefun连接关闭回调函数
asendfinishfun发送完成回调函数
atls_optionsTLS配置选项

◆ asio_ws() [2/2]

ngl::asio_ws::asio_ws ( i32_threadsize athread,
bool ause_tls,
const ws_callback & acallfun,
const ws_closecallback & aclosefun,
const ws_sendfinishcallback & asendfinishfun,
const ws_tls_options & atls_options = {} )

构造一个无监听socket的WebSocket客户端池。

Parameters
athread工作线程数量
ause_tls是否启用TLS(WSS)
acallfun数据接收回调函数
aclosefun连接关闭回调函数
asendfinishfun发送完成回调函数
atls_optionsTLS配置选项

The documentation for this class was generated from the following files: