简单的 C++ 网络服务框架 Sim 介绍
encn
9年前
原文 http://www.ideawu.net/blog/archives/883.html
可测性
Sim 采用了一种极简的报文格式, 在你没有开始写 Client 时, 你就可以利用手上现成的工具, 如 nc, telnet 来测试. 可测性非常重要, 你可以随时查看代码的执行效果, 这对开发者的心理会产生非常正面的促进作用. 即使你不想使用 nc 这样的命令, 你想写 PHP 或者 Python 脚本, 也是非常简单的.
例如, 你采用 Sim 框架写了一个计算加法的服务器. 这时怎么测试呢? 很简单! 在命令行执行
$ nc 127.0.0.1 8800 add 1 3 ok 4
随时随地地通过实际的输入和输出来测试程序, 会让程序员的心理更愉悦. 如果通过枯燥的单元测试, 进行大量参数配置, 只会让人心慌, 影响开发效率.
内置 Log/Config 工具
Sim 采用了 SSDB 项目 的日志和配置代码, 让你的服务器立即就拥有日志输出功能和可配置性. 日志非常重要, 我几乎不使用 gdb 这样底层的调试工具. 有了 Config, 像修改端口这样的简单需求, 就不用再修改代码重新编译了.
进程管理
Sim 提供了的工具可以让你的程序启动为后台进程, 不用借助 supervisor, nohup 这样的额外工具.
关于性能
记住, 不要一开始就关心性能, 计算机和 C++ 比你相像的要快得多!
其它
Sim 的应用场景是订阅-分发模式, 对于请求响应模式, 你需要做一些功夫. 但接下来会提供的.
Sim 完全开源, 基于 New BSD 协议.