月度归档: 2017年01月

网络编程–基于libev的EchoServer编程示例

目前网上很多libev的EchoServer都非常简洁,在对客户端读写事件时的处理都不够明晰,现在简单介绍一个对一个客户端连接在进行异步读写时的处理,并给出一个可以执行的代码版本。 对于多进程/多线程编程框架还需要进行扩展,通常由主进程或线程启动异步事件驱动器进行网络监听,将客户端的连接放到业务处理线程自身的异步事件驱动器中,然后对每个客户端再进行业务处理,为避免客户端的慢操作或是耗时操作,业务线程还可以引入协程,对这些耗时操作使用协程处理,避免业务线程的阻塞。 1. 每个连接应该是一个独立的结构体,包含事件循环驱动器、事件读写监视器,以及此连接上面的读写缓存、用户数据等 […]

[阅读全文...]