最近在学习websockets的库,cpp主要有三个,websocketpp/libwebsockets/uwebsockets.看了一下简单明了的就是uWebSockets了,但是这个代码写的确实有点抽象。。。不太像我的风格。websocketpp要boost,有点巨大,不想用,libwebsockets虽然是c的,但是它的samples写的太磋,不太想用。纠结来纠结去还是用uWebSockets了,网址:https://github.com/uNetworking/uWebSockets uWebSockets依赖uSockets: https://github.com/uNetworking/uSockets
uSockets的代码是c风格的,相对而言可读性高一点。uWebSockets用了巨量的placement new/ malloc 强转和c11 std::move移动语义,虽然性能比较高一点,但是可读性比较差。接下来分几篇文章来简单介绍一下这两个库。
大体思路:程序=算法+数据结构。先把基本代码走一遍分析一遍核心数据结构以及为数据结构依赖的基本算法,再把算法简单走一遍。基本就清晰了。