6.4.2 echo 服务的实现(2)

2013-10-07 16:02:49 · 作者: · 浏览: 64

6.4.2 echo 服务的实现(2)

3. 在main() 里用EventLoop 让整个程序跑起来。

  1. examples/simple/echo/main.cc  
  2. 1 #include "echo.h"  
  3. 2  
  4. 3 #include <muduo/base/Logging.h> 
  5. 4 #include <muduo/net/EventLoop.h> 
  6. 5  
  7. 6 // using namespace muduo;  
  8. 7 // using namespace muduo::net;  
  9. 8  
  10. 9 int main()  
  11. 10 {  
  12. 11 LOG_INFO << "pid = " << getpid();  
  13. 12 muduo::net::EventLoop loop;  
  14. 13 muduo::net::InetAddress listenAddr(2007);  
  15. 14 EchoServer server(&loop, listenAddr);  
  16. 15 server.start();  
  17. 16 loop.loop();  
  18. 17 }  
  19. examples/simple/echo/main.cc 

完整的代码见muduo/examples/simple/echo。这个几十行的小程序实现了一个单线程并发的echo 服务程序,可以同时处理多个连接。

这个程序用到了TcpServer、EventLoop、TcpConnection、Buffer 这几个class,也大致反映了这几个class 的典型用法,后文还会详细介绍这几个class。注意,以后的代码大多会省略namespace。