6.4.2 echo 服务的实现(2)
3. 在main() 里用EventLoop 让整个程序跑起来。
- examples/simple/echo/main.cc
- 1 #include "echo.h"
- 2
- 3 #include <muduo/base/Logging.h>
- 4 #include <muduo/net/EventLoop.h>
- 5
- 6 // using namespace muduo;
- 7 // using namespace muduo::net;
- 8
- 9 int main()
- 10 {
- 11 LOG_INFO << "pid = " << getpid();
- 12 muduo::net::EventLoop loop;
- 13 muduo::net::InetAddress listenAddr(2007);
- 14 EchoServer server(&loop, listenAddr);
- 15 server.start();
- 16 loop.loop();
- 17 }
- examples/simple/echo/main.cc
完整的代码见muduo/examples/simple/echo。这个几十行的小程序实现了一个单线程并发的echo 服务程序,可以同时处理多个连接。
这个程序用到了TcpServer、EventLoop、TcpConnection、Buffer 这几个class,也大致反映了这几个class 的典型用法,后文还会详细介绍这几个class。注意,以后的代码大多会省略namespace。