这次我们主要来说说muduo
库中大量使用的回调机制。muduo
主要使用的是利用Callback
的方式来实现回调,首先我们在自己的EchoServer
构造函数中有这样几行代码
EchoServer(EventLoop *loop,
const InetAddress &addr,
const std::string &name)
: server_(loop, addr, name)
, loop_(loop)
{
// 注册回调函数
server_.setConnectionCallback(
std::bind(&EchoServer::onConnection, this, std::placeholders::_1)
);
server_.setMessageCallback(
std::bind(&EchoServer::onMessage, this,
std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)
);
// 设置合适的loop线程数量 loopthread
server_.setThreadNum(3);
}
使用了setConnectionCallback
和setMessageCallback
,我们去看下TcpServer
对setConnectionCallback
怎么实现的
void