#include <server_socket.hpp>
服务端监听套接口类,接收客户端连接,并创建客户端流连接对象
在文件 server_socket.hpp 第 23 行定义.
◆ server_socket() [1/4]
acl::server_socket::server_socket |
( |
unsigned |
flag, |
|
|
int |
backlog |
|
) |
| |
构造函数
- 参数
-
flag | {unsigned} 定义参见 OPEN_FLAG_XXX |
backlog | {int} 监听套接口队列长度 |
◆ server_socket() [2/4]
acl::server_socket::server_socket |
( |
ACL_VSTREAM * |
sstream | ) |
|
构造函数,调用本构造函数后禁止再调用 open 方法
- 参数
-
sstream | {ACL_VSTREAM*} 外部创建的监听流对象,本类仅使用 但并不释放,由应用自行关闭该监听对象 |
◆ server_socket() [3/4]
acl::server_socket::server_socket |
( |
int |
fd | ) |
|
构造函数,调用本构造函数后禁止再调用 open 方法
- 参数
-
fd | {ACL_SOCKET} 外部创建的监听句柄,本类仅使用但并不释放, 由应用自行关闭该监听句柄 |
◆ server_socket() [4/4]
acl::server_socket::server_socket |
( |
void |
| ) |
|
◆ ~server_socket()
acl::server_socket::~server_socket |
( |
void |
| ) |
|
◆ accept()
socket_stream* acl::server_socket::accept |
( |
int |
timeout = 0 , |
|
|
bool * |
etimed = NULL |
|
) |
| |
接收客户端连接并创建客户端连接流
- 参数
-
timeout | {int} 当该值 > 0 时,采用超时方式接收客户端连接, 若在指定时间内未获得客户端连接,则返回 NULL |
etimed | {bool*} 当此指针非 NULL 时,如果因超时导致该函数返回 NULL,则此值被置为 true |
- 返回
- {socket_stream*} 返回空表示接收失败或超时
◆ close()
bool acl::server_socket::close |
( |
void |
| ) |
|
关闭已经打开的监听套接口
- 返回
- {bool} 是否正常关闭
◆ get_addr()
const char* acl::server_socket::get_addr |
( |
void |
| ) |
const |
|
inline |
◆ open()
bool acl::server_socket::open |
( |
const char * |
addr | ) |
|
开始监听给定服务端地址
- 参数
-
addr | {const char*} 服务器监听地址,格式为: ip:port;在 unix 环境下,还可以是域套接口,格式为:/path/xxx,在 Linux 平台下,如果域套接口地址为:@xxx 格式,即第一个字母为 @ 则 内部自动启用 Linux 下的抽象域套接字方式(abstract unix socket) |
- 返回
- {bool} 监听是否成功
◆ opened()
bool acl::server_socket::opened |
( |
void |
| ) |
const |
◆ set_tcp_defer_accept()
void acl::server_socket::set_tcp_defer_accept |
( |
int |
timeout | ) |
|
设置监听套接字的延迟接收功能,即当客户端连接上有数据时才将该连接返回 给应用,目前该功能仅支持 Linux
- 参数
-
timeout | {int} 如果客户端连接在规定的时间内未发来数据, 也将该连接返回给应用 |
◆ sock_handle()
int acl::server_socket::sock_handle |
( |
void |
| ) |
const |
|
inline |
◆ unbind()
int acl::server_socket::unbind |
( |
void |
| ) |
|
将监听套接口从服务监听对象中解绑
- 返回
- {SOCKET} 返回被解绑的句柄
该类的文档由以下文件生成: