capture 1.2.0
这是一个基于 PcapPlusPlus、PF_RING 和 ClickHouse 构建的高性能网络流量分析系统,专注于实时流量捕获、解析与存储。
Loading...
Searching...
No Matches
SocketServer Class Reference

TCP套接字服务器类 More...

#include <SocketServer.h>

Public Member Functions

 SocketServer ()
 构造函数
bool init ()
 初始化服务器
bool accept_connection ()
 接受客户端连接(阻塞等待)
ssize_t receive (char *buffer, size_t buffer_size)
 接收消息
bool reconnect ()
 重新连接
ssize_t send (const char *message)
 发送消息(带重试机制)
bool send_vector (const std::vector< uint32_t > &data)
 发送uint32_t向量数据(带重试机制)
void close ()
 关闭连接
 ~SocketServer ()
 析构函数

Private Attributes

int server_fd
 服务器套接字文件描述符
int new_socket
 客户端连接套接字文件描述符
struct sockaddr_in address
 服务器地址结构
int addrlen
 地址结构长度
int is_connect
 连接状态标志

Detailed Description

TCP套接字服务器类

提供TCP服务器功能,包括初始化、连接管理、数据传输等。 支持自动重连和错误处理机制。

Constructor & Destructor Documentation

◆ SocketServer()

SocketServer::SocketServer ( )
inline

构造函数

初始化套接字服务器的各种参数和状态

◆ ~SocketServer()

SocketServer::~SocketServer ( )
inline

析构函数

自动关闭所有连接

Member Function Documentation

◆ accept_connection()

bool SocketServer::accept_connection ( )
inline

接受客户端连接(阻塞等待)

Returns
成功返回true,失败返回false

阻塞等待客户端连接,成功后更新连接状态

◆ close()

void SocketServer::close ( )
inline

关闭连接

等待所有数据发送完成后关闭客户端和服务器套接字

◆ init()

bool SocketServer::init ( )
inline

初始化服务器

Returns
成功返回true,失败返回false

创建套接字、设置选项、绑定地址端口、开始监听

◆ receive()

ssize_t SocketServer::receive ( char * buffer,
size_t buffer_size )
inline

接收消息

Parameters
buffer接收缓冲区
buffer_size缓冲区大小
Returns
接收到的字节数,失败返回-1

从客户端接收数据到指定缓冲区

◆ reconnect()

bool SocketServer::reconnect ( )
inline

重新连接

Returns
成功返回true,失败返回false

关闭现有连接并重新等待客户端连接

◆ send()

ssize_t SocketServer::send ( const char * message)
inline

发送消息(带重试机制)

Parameters
message要发送的消息
Returns
发送的字节数,失败返回-1

向客户端发送字符串消息,支持自动重连和重试

◆ send_vector()

bool SocketServer::send_vector ( const std::vector< uint32_t > & data)
inline

发送uint32_t向量数据(带重试机制)

Parameters
data要发送的uint32_t向量
Returns
成功返回true,失败返回false

先发送数据大小,再发送数据内容。支持自动重连和重试机制。

Member Data Documentation

◆ address

struct sockaddr_in SocketServer::address
private

服务器地址结构

◆ addrlen

int SocketServer::addrlen
private

地址结构长度

◆ is_connect

int SocketServer::is_connect
private

连接状态标志

◆ new_socket

int SocketServer::new_socket
private

客户端连接套接字文件描述符

◆ server_fd

int SocketServer::server_fd
private

服务器套接字文件描述符


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