Muduo 网络编程示例之四:Twisted Finger

本文介绍了如何使用Muduo网络库来实现Twisted Finger服务的简化版本,涵盖从拒绝连接到从UserMap查找用户的过程,并强调了潜在的安全问题。通过telnet进行测试,展示了服务端的响应。
摘要由CSDN通过智能技术生成

陈硕 (giantchen_AT_gmail)

Blog.csdn.net/Solstice

这是《Muduo 网络编程示例》系列的第四篇文章。

Muduo 全系列文章列表: http://blog.csdn.net/Solstice/category/779646.aspx

Python Twisted 是一款非常好的网络库,它也采用 Reactor 作为网络编程的基本模型,所以从使用上与 muduo 颇有相似之处。(当然,muduo 没有 deferreds)Finger 是 twisted 文档的一个经典例子,本文展示如何用 muduo 来实现最简单的 finger 服务端。限于篇幅,只实现 finger01~07。代码位于 examples/twisted/finger

1 拒绝连接

什么都不做,程序空等。finger01.cc

   1: #include 
   2:  
   3: using namespace muduo;
   4: using namespace muduo::net;
   5:  
   6: int main()
   7: {
   
   8:   EventLoop loop;
   9:   loop.loop();
  10: }

2 接受新连接

在 1079 端口侦听新连接,接受连接之后什么都不做,程序空等。muduo 会自动丢弃收到的数据。finger02.cc

   1: #include 
   2: #include 
   3:  
   4: using namespace muduo;
   5: using namespace muduo::net;
   6:  
   7: int main()
   8: {
   
   9:   EventLoop loop;
  10:   TcpServer server(&loop, InetAddress(1079), "Finger");
  11:   server.start();
  12:   loop.loop();
  13: }

3 主动断开连接

接受新连接之后主动断开。finger03.cc

以下省略头文件和 namespace。

   1: void onConnection(const TcpConnectionPtr& conn)
   2: {
   
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值