libsvx (service X library) 是一个纯C编写的网络库,只支持Linux,但是仅依赖于libc和libpthread。
libsvx使用“反应器”设计模式,它提供了这样一种机制:“在一个FD上发生指定的事件”或“发生指定时间的超时”时,调用指定的回调函数。基于这种机制,libsvx提供了以下这些基础网络模块:TCP服务端模块,TCP客户端模块,UDP模块,ICMP模块。libsvx本身不包含任何应用层网络模块,比如:HTTP服务端模块,HTTP客户端模块,DNS客户端模块。
libsvx使用的线程模型:每个线程一个I/O looper,可选的线程池。