brynet
是一个多线程的异步网络库,能够运行在Linux和Windows环境下。
仅仅需要C++ 11编译器,且没有其他任何第三方依赖。
brynet
核心分为以下几个部分
由EventLoop
提供,用于检测socket的可读可写,并包含一个事件通知,可用于线程间通信(消息队列).
详情见eventloop
由ListenThread
和AsyncConnector
提供,前者用于接收外部的链接请求,后者用于向外部进行网络连接.
详情见listen_thread和connector,使用这两个组件可以让我们得到TcpSocket::Ptr
和TcpConnection::Ptr
,TcpConnection::Ptr
是我们最会频繁使用的类型。
brynet
不对用户暴露原始的socket fd,而是提供TcpSocket::Ptr
,详见Socket
当然用户也一般不直接使用TcpSocket::Ptr
,而是使用TcpConnection::Ptr
,详见TcpConnection
- 提供
promise receive
方便解析网络消息,详见:promise_receive
详情见merge_send
请确保你已经安装了openssl,然后在编译brynet
时定义USE_OPENSSL
宏即可。
请查看example