简单的 C++ 网络服务框架 Sim 介绍

  • Post author:
  • Post category:IT
  • Post comments:0评论

可测性

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 协议.

项目地址:https://github.com/ideawu/sim

Related posts:

  1. 单独编译一个PHP模块
  2. 汽车之家, 比亚迪等成为开源数据库SSDB的用户!
  3. SSDB 的 C++ 客户端接口
  4. LevelDB 写操作出现停顿的问题分析
  5. SSDB源码分析 – 服务器的启动过程

发表回复