-
Notifications
You must be signed in to change notification settings - Fork 1
tcp_server
github-actions edited this page Nov 21, 2024
·
1 revision
- 这是一个枚举类,定义了不同的事件类型,包括
kEventAccept
(接受连接事件)、kEventRead
(读取事件)、kEventLeave
(离开事件)和kEventError
(错误事件)。
- 这是一个枚举类,定义了服务器的运行模式,包括
kIOMultiplexing
(I/O 多路复用模式)、kMultiThread
(多线程模式)和kMixed
(混合模式)。
- 参数:无
- 返回值:无
- 作用:构造一个默认的 TcpServer 对象。
- 参数:
-
ip
:服务器的 IP 地址字符串。 -
port
:服务器的端口号。
-
- 返回值:无
- 作用:构造一个指定 IP 地址和端口号的 TcpServer 对象。
- 参数:
-
addr
:服务器的地址对象。
-
- 返回值:无
- 作用:构造一个使用给定地址对象的 TcpServer 对象。
- 参数:无
- 返回值:无
- 作用:TcpServer 类的析构函数。
- 参数:无
- 返回值:
int
类型,0 表示成功,-1 表示失败。 - 作用:初始化 TCP 服务器,包括创建文件描述符、绑定地址、设置非阻塞等操作。
- 参数:无
- 返回值:无
- 作用:停止 TCP 服务器,关闭文件描述符等资源。
- 参数:无
- 返回值:无
- 作用:清理所有资源。
- 参数:
-
cb
:事件回调函数。
-
- 返回值:无
- 作用:注册事件回调函数,当特定事件发生时调用。
- 参数:无
- 返回值:
int
类型,0 表示成功,-1 表示失败。 - 作用:进入事件循环,等待并处理各种事件。
- 参数:
-
fd
:要移除的套接字文件描述符。
-
- 返回值:
int
类型,0 表示成功,-1 表示失败。 - 作用:从事件监听中移除指定的套接字,但不关闭它。
- 参数:
-
fd
:要添加的套接字文件描述符。
-
- 返回值:
int
类型,0 表示成功,-1 表示失败。 - 作用:将指定的套接字添加到事件监听中。
- 参数:无
- 返回值:
int
类型,0 表示成功,-1 表示失败。 - 作用:唤醒服务器,在停止后可选地用于退出。
- 参数:
-
mode
:服务器的运行模式枚举值。
-
- 返回值:无
- 作用:设置服务器的运行模式。
- 参数:
-
max_connect_queue
:最大连接队列长度。
-
- 返回值:无
- 作用:设置服务器的最大连接队列长度。
- 参数:
-
addr
:服务器的地址对象。
-
- 返回值:无
- 作用:设置服务器的地址。
- 参数:无
- 返回值:
Mode
类型,服务器的运行模式枚举值。 - 作用:获取服务器的运行模式。
- 参数:无
- 返回值:
Address
类型,服务器的地址对象。 - 作用:获取服务器的地址。
- 参数:无
- 返回值:
std::string
类型,错误消息。 - 作用:获取错误消息。
- 参数:无
- 返回值:指向
IOMultiplexingBase
的智能指针,I/O 多路复用对象。 - 作用:获取服务器的 I/O 多路复用对象。
- 参数:无
- 返回值:指向
ThreadPool
的智能指针,线程池对象。 - 作用:获取服务器的线程池对象。
- 参数:无
- 返回值:
Socket
类型,创建的套接字文件描述符。 - 作用:创建服务器套接字。
- 参数:无
- 返回值:
int
类型,0 表示成功,-1 表示失败。 - 作用:根据服务器的运行模式进行初始化。
- 参数:无
- 返回值:无
- 作用:处理接受连接事件。
- 参数:
-
fd
:套接字文件描述符。
-
- 返回值:无
- 作用:处理读取事件。
- 参数:
-
fd
:套接字文件描述符。
-
- 返回值:无
- 作用:处理离开事件。
- 参数:
-
fd
:套接字文件描述符。
-
- 返回值:无
- 作用:处理错误事件。