Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 2.66 KB

main.zh-cn.md

File metadata and controls

43 lines (33 loc) · 2.66 KB

概述

brynet 是一个多线程的异步网络库,能够运行在Linux和Windows环境下。 仅仅需要C++ 11编译器,且没有其他任何第三方依赖。

架构

brynet 核心分为以下几个部分

事件层

EventLoop提供,用于检测socket的可读可写,并包含一个事件通知,可用于线程间通信(消息队列). 详情见eventloop

网络连接

ListenThreadAsyncConnector提供,前者用于接收外部的链接请求,后者用于向外部进行网络连接. 详情见listen_threadconnector,使用这两个组件可以让我们得到TcpSocket::PtrTcpConnection::PtrTcpConnection::Ptr是我们最会频繁使用的类型。

安全的Socket对象

brynet不对用户暴露原始的socket fd,而是提供TcpSocket::Ptr,详见Socket

安全的TcpConnection连接对象

当然用户也一般不直接使用TcpSocket::Ptr,而是使用TcpConnection::Ptr,详见TcpConnection

高级特性

效率优化

详情见merge_send

使用SSL

请确保你已经安装了openssl,然后在编译brynet时定义USE_OPENSSL宏即可。

完整示例

请查看example

建议

  • 建议使用wrapper目录下的包装代码来使用brynet,它会让您使用得更便捷,提高您的开发效率。在examples目录里有一些示例就使用了它,您可以参考一下。
  • 你完全可以使用(链接)官方的http_parser,将其路径添加到工程的包含路径即可(则会自动替代brynet自带的http_parser.h)

应用项目