Socket Class
源码阅读(muduo::net)
如果有问题,欢迎交流指正!!!
基于 R A I I RAII RAII机制对套接字的封装。
数据成员
const int sockfd_
在构造函数中初始化(拷贝初始化,不涉及调用
socket(2)
的操作),在析构函数中关闭。
函数成员
int fd()
返回套接字
bool getTcpInfo(struct tcp_info* tcpi)
调用
getsockopt
获取套接字的信息
bool getTcpInfoString(char* buf,int len)
调用
getTcpInfo
获取套接字的信息,之后拷贝到buf中。
void bindAddress(const InetAddress& addr)
调用
sockets::bindOrDie()
绑定网络地址
void listen()
对
sockets::listenOrDie()
的封装,没有别的东西
int accept(InetAddress* peeraddr)
调用
sockets::accept
获取新连接,并调用InetAddress::setSockAddrInet6
赋值给peeraddr
void shutdownWrite()
对
sockets::shutdownWrite()
的封装。
void setTcpNoDelay(bool on)
调用
setsockopt
禁止Nagle算法
这个算法是干嘛的?
void setReuseAddr(bool on)
调用
setsockopt
允许本地网址重用
void setReusePort(bool on)
调用
setsockopt
允许本地端口重用
void setKeepAlive(bool on)
调用
setsockopt
设置周期性检查连接是否存活