为啥 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++ 书籍不包含任何有关网络的内容? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章