到这里已经是第三篇文章了,这一章我会来进一步介绍tcp.hpp.上一章我们谈到,tcp必须显示构造且构造函数私有,那么怎样来构建tcp的对象呢,这里使用的是静态成员函数。这是对类的进一步封装。
1、
static tcp v4()
{
return tcp(BOOST_ASIO_OS_DEF(AF_INET));
}
/// Construct to represent the IPv6 TCP protocol.
static tcp v6()
{
return tcp(BOOST_ASIO_OS_DEF(AF_INET6));
}
这里给出的是ipv4和ipv6协议的tcp实现。
接下来的几个运算符重载判断使用的地址族是否相同,还有一个返回地址族的成员函数这里就不再列举了。
2、其中有两个成员函数是这样的:
/// Obtain an identifier for the type of the protocol.
int type() const
{
return BOOST_ASIO_OS_DEF(SOCK_STREAM);
}
/// Obtain an identifier for the protocol.
int protocol() const
{
return BOOST_ASIO_OS_DEF(IPPROTO_TCP);
}
看注释是分别返回协议的类型和协议的标志。
tcp.hpp中的大部分内容介绍完了,这里还剩下几个别名没有介绍:
/// The TCP socket type.<