我是使用 C++ 的新手,但对它的语法和可用性有一个大致的了解。我想学习如何通过 C++ 编程通过网络进行通信,但我似乎找不到任何专门针对 C++ 的教程。有谁知道任何好的资源来学习使用 C++ 联网或我应该从什么开始?
原文由 CoderDake 发布,翻译遵循 CC BY-SA 4.0 许可协议
我是使用 C++ 的新手,但对它的语法和可用性有一个大致的了解。我想学习如何通过 C++ 编程通过网络进行通信,但我似乎找不到任何专门针对 C++ 的教程。有谁知道任何好的资源来学习使用 C++ 联网或我应该从什么开始?
原文由 CoderDake 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该查看以下指南:
和 Boost.Asio 在这里 查看有关 Boost.Asio 文档的问题
原文由 user225312 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
4 回答844 阅读
1 回答919 阅读
1 回答954 阅读
1 回答722 阅读
1 回答820 阅读
鉴于您对 C++ 的陌生,我不建议直接在套接字 API 上构建,除非您找不到合适的库来使用。 Boost.Asio 将为您提供一个巨大的开端,并让您了解网络编程中使用的更高级别的抽象。
在开始构建基于套接字的系统时,很容易获得“某种”有效的东西,然后花数周时间调试仅在现实世界时序和负载条件下发生的极端情况。正确使用
boost::asio
并不是小菜一碟,即使它使开发人员免受原始套接字处理的复杂性的影响。如果目标是学习如何正确使用原始套接字(或其他一些传输机制,例如 RPC),那么请务必使用在线示例和文档来了解各个 BSD 或 Winsock API - 如果目标是解决在业务和网络基础设施方面使用高质量代码尽快解决业务问题,然后使用良好的网络库。在这种情况下,您的问题确实表明希望学习,因此使用库可能不是实现您既定目标的最佳方式。