为啥 C 或 C++ 书籍不包含任何有关网络的内容? [关闭]

Posted

技术标签:

【中文标题】为啥 C 或 C++ 书籍不包含任何有关网络的内容? [关闭]【英文标题】:Why do C or C++ books not contain anything on networking? [closed]为什么 C 或 C++ 书籍不包含任何有关网络的内容? [关闭] 【发布时间】:2011-07-30 22:52:29 【问题描述】:

我一直在看以下书籍: -K&R C - 完整参考 C++ -完整的参考C -Deitel 如何编程 C -Deitel 如何编程 C++

其中没有一个包含任何网络、如何创建套接字等。C 网络编程是否有任何“权威”参考? Google 并不是特别有帮助。

我可能正在考虑 windows 和 unix 平台

【问题讨论】:

因为 C 是 C++ 是编程语言。网络就是使用它们的领域之一。 “为什么汽车厂服务手册没有关于驾驶的任何内容?” 【参考方案1】:

“C 书籍”通常描述语言和标准库。套接字不在标准库中。

如果您想要一本关于套接字的好书,Stevens 的UNP 可以说是最好的。

【讨论】:

史蒂文斯的书被广泛认为是插座上的“圣经”。 还可以查看 Beej 网络编程指南 (beej.us/guide/bgnet) 以获得快速概述或教程。 所以如果我想做套接字编程,我必须安装某种第 3 方库? 否 - 通常您的操作系统会预装必要的库...【参考方案2】:

我同意cnicutar的回答...

如果您需要一个好的起点 - 请参阅 http://beej.us/guide/bgnet/output/html/multipage/index.html

【讨论】:

【参考方案3】:

C/C++ 是一种语言,网络不是语言的一部分,这就是为什么

如果你这样做了

   man 2 accept
   man 2 select
   man 2 connect
   man 2 recv
   man 2 send

您将看到大多数 TCP 网络需要所需的模板代码和参考

【讨论】:

当然,如果您使用的是 Linux。 即使您不在 linux 上,谷歌搜索“man select”也会为您提供手册页.... 如果您发现这过于复杂,请改用 ZeroMQ。这是一个基于消息的超级套接字库,比普通的低级套接字更容易使用。

以上是关于为啥 C 或 C++ 书籍不包含任何有关网络的内容? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥没有 cdirent 或 sys/cstat

C++编程书籍推荐:零基础入门书籍,学C++看它们就够了!

C++基本内置类型

我收到“未定义的引用”错误,我不明白为啥(C++ OO)

学习C++需要先学C吗,为啥?

为啥编译器默认不自动添加或生成包含保护?