Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::net::ReusableSocket类 参考

可重用地址和端口的套接字构建器 更多...

#include <ReusableSocket.h>

Public 成员函数

 ReusableSocket (IPAddress::Ptr address, Socket::Type type=Socket::Type::TCP)
 
socket_t makeRawSocket () noexcept
 
std::optional< SocketmakeSocket () noexcept
 

Protected 成员函数

std::optional< SocketbuiltinMakeSocket () noexcept
 

Protected 属性

IPAddress::Ptr addr {}
 
Socket::Type type {}
 

详细描述

可重用地址和端口的套接字构建器

警告
用此构建器构建出来的 Socket 在不同平台上行为不一致

Linux: 内核会负责负载均衡,多个 Socket 都能接收到连接

Darwin: 无负载均衡,只有最后一个 Socket 能接收到连接

Windows: 无负载均衡,只有第一个 Socket 能接收到连接

参见
https://www.cnblogs.com/xybaby/p/7341579.html

构造及析构函数说明

◆ ReusableSocket()

ReusableSocket::ReusableSocket ( IPAddress::Ptr address,
Socket::Type type = Socket::Type::TCP )
explicit

初始化可重用地址和端口的套接字模板

参数
address地址
type类型

成员函数说明

◆ builtinMakeSocket()

std::optional< Socket > ReusableSocket::builtinMakeSocket ( )
protectednoexcept

◆ makeRawSocket()

sese::socket_t ReusableSocket::makeRawSocket ( )
noexcept

按照模板构建一个 native socket

返回值
-1创建失败
返回
native socket

引用了 builtinMakeSocket().

被这些函数引用 sese::service::SystemBalanceLoader::init().

◆ makeSocket()

std::optional< Socket > ReusableSocket::makeSocket ( )
noexcept

按照模板构建一个 sese::net::Socket

返回值
nullptr创建失败
返回
sese::net::Socket

引用了 builtinMakeSocket().

类成员变量说明

◆ addr

IPAddress::Ptr sese::net::ReusableSocket::addr {}
protected

被这些函数引用 builtinMakeSocket().

◆ type

Socket::Type sese::net::ReusableSocket::type {}
protected

被这些函数引用 builtinMakeSocket().


该类的文档由以下文件生成: