2010-06-02 94 views
2

没有获得CS学位已经在我的编程相关知识中留下了大量漏洞。 特别是我真的很想学习一些我在CS学位获得的计算机网络。 我真正的问题是“不知道我不知道什么”。 到目前为止,我知道,我不知道下面的事情(只要计算机网络concearned)学习网络基础知识

-sockets

-ports

-Internet协议(全IP堆栈我不断听到关于)。

任何人都可以添加更多的名单? 谁能提前

+5

我有CS学位,我对这些事情一无所知。他们是400级选修课(在UIUC),我选择采取不同的选择。我现在意识到我的选择很差,不切实际。网络会更聪明。 – Tesserex 2010-06-02 17:09:12

回答

0

我推荐阅读Stevens的TCP/IP Illustrated,第1卷。这非常容易阅读,并且最终你会学到很多东西,并且2)对你还不知道的东西有更好的了解。 :-)

至于优秀的项目,我建议先做一个玩具网络客户端。只需写一些将下载网页并将其保存到文件(如wget或curl)的东西。玩具网络服务器是一个很好的第二个项目。

+0

谢谢你,我会检查一下,我也喜欢你的想法。 TA! – bplus 2010-10-12 11:40:36

+0

感谢您的建议,但可以推荐过去5到10年内写的东西吗?这本书是从1993年开始的,这让我觉得现代时代所用的东西很多。 – Azurespot 2016-04-19 00:25:15

+1

@NoniA。这本书的第二版(由Kevin Fall更新)于2014年发布。ISBN 9332535957。 – 2016-04-21 20:48:37

1

这是一个很好的点,并了解更多的建议项目(写一个玩具的Web服务器?)

由于通常是很有益的。但我会深入地说,网络系统的知识确实只对特定类别的编程问题是必需的。大多数编程项目不需要这么深刻的知识。本质程序员和网络专家(微软喜欢称他们的IT专业人员)是两种不同的职业(除少数情况外),他们甚至需要两种不同的思维方式。

+0

IT专业人员需要了解很多关于配置网络(路由器,服务器等)的知识,但原始海报正在询问网络编程。网络编程在程序员的工具箱IMO中非常有用。显然,这取决于您计划编写哪些类型的应用程序。 – 2010-09-18 16:55:25