1. 说明
- 一个socket类,用RAII方法封装socket fd
2. 变量
- sockfd_
- 套接字fd,构造函数中赋值
3. 函数
-
构造
- 赋值sockfd_
-
析构
- 调用close()关闭sockfd_
-
fd()
- 返回sockfd_
-
getTcpInfo(struct tcp_info* tcpi)
- 获得tcp信息保存到tcpi中,这是一个结构体,在<netinet/tcp.h>中定义
-
getTcpInfoString(char* buf, int len)
- 调用getTcpInfo()先获得tcp信息,把tcp信息的字符串保存到buf中
-
bindAddress(const InetAddress& localaddr)
- 调用sockets::bindOrDie(sockfd_, addr.getSockAddr());实际就是调用bind()
-
listen()
- 调用sockets::listenOrDie(sockfd_);
-
accept(InetAddress* peeraddr)
- 调用sockets::accept(sockfd_, &addr);
- 并且调用peeraddr->setSockAddrInet6(addr);,赋值连过来的ip地址
-
shutdownWrite()
- 调用sockets::shutdownWrite(sockfd_);
-
setTcpNoDelay(bool on)
- 调用setsockopt()设置是否nodelay
-
setReuseAddr(bool on)
- 调用setsockopt()设置是否重用addr
-
setReusePort(bool on)
- 调用setsockopt()设置是否重用port
-
setKeepAlive(bool on)
- 调用setsockopt()设置是否keepalive