【发布时间】:2009-02-02 00:36:53
【问题描述】:
我最近开始在学校参加两个专注于网络的课程,一个是关于分布式系统的,另一个是关于一般计算机网络的。完成这两个课程的第一个实验后,我现在对 C 和 Java 的网络协议和套接字概念有了相当好的理解。
现在我正在尝试超越基本概念,在 C 或 C 或OO 语言。
您能推荐任何您成功使用的资源吗?
【问题讨论】:
标签: linux unix networking
我最近开始在学校参加两个专注于网络的课程,一个是关于分布式系统的,另一个是关于一般计算机网络的。完成这两个课程的第一个实验后,我现在对 C 和 Java 的网络协议和套接字概念有了相当好的理解。
现在我正在尝试超越基本概念,在 C 或 C 或OO 语言。
您能推荐任何您成功使用的资源吗?
【问题讨论】:
标签: linux unix networking
Unix network programming Richard Stevens 是一本讨论许多高级网络编程技术的必备书籍。我从事网络编程已经很多年了,即使是现在,我也几乎每天都在这个伟大的参考资料中查找内容。
【讨论】:
BeeJ's Guide to Network Programming 是我学习 POSIX 系统的基本 API 调用的地方。甚至还有一节介绍如何将其转换为 Windows 代码。
我真的只是在早期通过反复试验偶然发现了“好的”网络编码实践。我找到了有效的方法和有效的方法,并与之一起运行。
【讨论】:
Steven 的关于网络编程的万事通书太详细了,无法入手,并且包含封装真正套接字编程的库。
我建议从Beej's Guide to Network Programing 开始,然后转到TCP/IP Sockets in C.,他们提供了很多关于网络编程的良好基础知识,并提供了一个最终阅读史蒂文斯书的平台。
Stevens 的其他书籍,例如 TCP/IP illustrated series,涵盖了网络的所有概念部分。
【讨论】:
Steven 的经典著作总是一个好的开始(例如,UNIX 网络编程、UNIX 环境中的高级编程)。除此之外,专注于分布式编程技术和消息传递系统。通过套接字传递消息这一事实并不像了解如何设计异步分布式架构那么重要。
我也会选择一份 TCP/IP Illustrated 的副本,因为了解 IP 路由的工作原理、TCP 和 UDP 的工作原理(以及它们的不同之处)是最重要的实用知识网络。之后,深入研究 DNS 和 HTTP。我还没有找到关于这两个的任何真正好的文本......也许有人会建议一些。如果一切都失败了,请阅读 RFC(RFC1034/RFC1035 用于 DNS,RFC2616 用于 HTTP)。
【讨论】:
如果您来自 Java 并且刚刚学习过套接字编程,我强烈推荐 Elliotte Rusty Harold 的 Java Network Programming
【讨论】:
我从 Warren W. Gray 的 Linux Socket Programming By Example 书中学习了网络编程。
【讨论】: