什么是学习网络编程的好资源?

Ton*_*ong 9 unix linux networking

我最近开始上学两个专注于网络的课程,一个关于分布式系统,另一个关于计算机网络.在完成这两个类的第一个实验之后,我现在对C和Java的网络协议和套接字概念有了很好的理解.

现在,我正试图超越基本概念,在通信类和对象设计,网络设计模式,中间套接字/流管理约定,重要库以及C或OO语言中的通用*nix网络编程中间技术方面变得更好.

您能否建议您获得成功的资源?

Bru*_*man 12

Richard Stevens的Unix网络编程是一本必备的书,它讨论了许多高级网络编程技术.我已经做了多年的网络编程,即使现在几乎没有一天没有我在这个伟大的参考中找到一些东西.


Ada*_*wes 6

BeeJ的网络编程指南是我学习POSIX系统的基本API调用的地方.甚至有一节介绍如何将其转换为Windows代码.

我真的只是在早期通过反复试验偶然发现了'良好'的网络编码实践.我找到了什么有效,什么是有效的,并与它一起运行.


D.S*_*ley 5

Steven 的经典著作总是一个好的开始(例如,UNIX 网络编程、UNIX 环境中的高级编程)。除此之外,重点关注分布式编程技术和消息传递系统。通过套接字传递消息这一事实并不像了解如何设计异步分布式架构那么重要。

我还会拿起一份《TCP/IP 插图》,因为了解 IP 路由如何工作、TCP 和 UDP 如何工作(以及它们有何不同)等内容是了解网络最重要的实用知识。之后,深入研究 DNS 和 HTTP。我还没有找到关于这两个人的任何真正好的文字......也许有人会推荐一些。如果所有其他方法都失败,请阅读 RFC(对于 DNS 为RFC1034 / RFC1035 ,对于 HTTP 为RFC2616)。


rah*_*ain 4

Steven 的《Know it all》关于网络编程的书太详细了,无法入手,并且包含封装真实套接字编程的库。

我建议从Beej 的网络编程指南开始,然后转向C 语言的 TCP/IP 套接字。它们提供了很多有关网络编程的良好基础知识,并提供了一个最终阅读 Stevens 书籍的平台。

史蒂文斯的其他书籍(例如TCP/IP 图解系列)涵盖了网络的所有概念部分。