gpt4 book ai didi

c++ - 用 C++ 创建高性能网络服务器

转载 作者:IT老高 更新时间:2023-10-28 22:21:31 26 4
gpt4 key购买 nike

我需要用 C++ 为交易应用程序创建一个网络服务器。此网络服务器需要执行以下任务:

  • 处理客户端的身份验证并为每个客户端提供 session ID session 。

  • 处理来自客户的订单并通知客户他们的执行。

  • 处理客户端要求的其他数据请求并发送回数据给他们。

我计划使用 Boost.Asio 网络库和 Google Protocol Buffer 来实现从客户端发送到服务器的消息。基于 XML-RPC 或 SOAP 的方法是严格禁止的,因为延迟是一个大问题。

我对 stackoverflow 社区有以下问题:

  1. 使用协议(protocol)实现这些消息是个好主意吗缓冲区?我也在考虑发送消息Boost序列化库来实现这一点。当我看代码时,我发现自己更有信心通过增强序列化来实现这一点Google protobuf header 看起来太重了。这些方法中的哪一个将a)更易于维护并且b)需要更少的努力?我猜,这两种方法都适用于不同的平台。

  2. 还有其他我应该看看的网络库吗来自 Boost.Asio.?我发现 ACE 在 C++ 编码方面有点过时风格很重要。

  3. 最终我想让这个网络服务器在 SSL 上运行,但是,我没有任何实现 SSL 的经验。如何以后迁移到 SSL 需要付出很多努力。我应该开始吗使用 SSL 还是可以稍后添加?

  4. 有没有人知道一个好的开源网络项目,可能已经使用 Boost.Asio 实现了一个类似的网络服务器,以获取灵感来自?

最佳答案

您还应该查看 Apache Thrift (源自 Facebook)或 Apache Etch (最初由思科开发)。它们是 RPC 框架,可以轻松开发满足您需求的服务器和客户端(或多或少)。对于使用 protobuf 和 boost.asio 开发的框架,请查看 server1 project .

关于c++ - 用 C++ 创建高性能网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7652208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com