Muduo 网络编程示例(七)“串并转换”连接服务器及其自动化测试2014-04-03 csdn博客 陈硕本文介绍如何使用 test harness 来测试一个具有内部逻辑的网络服务程序。本文的代码见 http://code.google.com/p/muduo/source/browse/trunk/examples/multiplexer下载地址: http://muduo.googlecode.com/files/muduo-0.2.0-alpha.tar.gz SHA1 checksum: 75a09a82f96b583004876e95105c679e64c95715云风在他的博客中提到了网游连接服务器的功能 需求(搜“练手项目”),我用 C++ 初步实现了这些需求,并为之编写了配套的自动化 test harness ,作为 muduo 网络库的示例。注意:本文呈现的代码仅仅实现了基本的功能需求,没有考虑安 全性,也没有特别优化性能,不适合用作真正的放在公网上运行的网游连接服务器。功能需求这个连接服务器把多个客户连接汇聚为一个内部 TCP 连接,起到“数据串并转换”的作用,让 backend 的逻辑服务器专心处理业务,而无需顾及多连接的并发性。以下是系统的框图:

这个连接服务器的作用与数字电路中的数据选择器 (multiplexer) 类似,所以我把它命名为 multiplexer。(其实 IO-Multiplexing 也是取的这个意思,让一个 thread-of-control 能有选择地 处理多个 IO 文件描述符。)

(上图取自 wikipedia,是 public domain 版权)