Laz*_*abs 16 c++ linux network-programming boost-asio
我需要用C++为交易应用程序创建一个网络服务器.此网络服务器需要执行以下任务:
处理客户端的身份验证并为每个会话提供会话ID.
处理来自客户的订单并告知客户他们的执行情况.
处理客户端要求的其他数据请求并将数据发送回给他们.
我打算使用Boost.Asio网络库和Google协议缓冲区来实现从客户端发送到服务器的消息.基于XML-RPC或SOAP的方法是严格的禁忌,因为延迟是一个大问题.
我对stackoverflow社区有以下问题:
使用协议缓冲区实现这些消息是一个好主意吗?我也在考虑发送消息Boost序列化库来实现这个.当我查看代码时,我发现自己更有信心通过boost序列化来实现这一点,并且Google protobuf标题看起来过于重量级.以下哪种方法a)更易维护,b)需要更少的努力?我想,这两种方法都适用于不同的平台.
除了Boost.Asio之外,还有其他任何网络库我应该看看吗?我发现ACE有点过时,就C++编码风格而言.
最后我想让这个网络服务器在SSL上运行,但是,我没有任何实施SSL的经验.稍后迁移到SSL需要多少工作量.我应该从SSL开始还是稍后可以添加?
有没有人知道一个很好的开源网络项目,可能已经使用Boost.Asio实现了类似的网络服务器,从中受到启发?
您还应该看看Apache Thrift(起源于 Facebook)或Apache Etch(最初由 Cisco 开发)。它们是 RPC 框架,可以轻松开发满足您的需求(或多或少)的服务器和客户端。对于使用 protobuf 和 boost.asio 开发的框架,请查看server1 项目。
| 归档时间: |
|
| 查看次数: |
5990 次 |
| 最近记录: |