2009-02-02 90 views
8

我最近開始參加在學校的兩個班,重點是網絡,一個關於分佈式系統,另一個關於計算機網絡。在完成兩個類的第一個實驗之後,我現在對C和Java的網絡協議和套接字概念有了很好的理解。學習網絡編程有什麼好的資源?

現在我試圖超越基本概念,在通信類和對象設計,網絡設計模式,中間套接字/流管理約定,重要庫和一般* nix網絡編程中間技術方面變得更好,或OO語言。

你可以建議你已經成功的任何資源?

回答

12

Unix network programming作者:理查德史蒂文斯是一本必讀的書,討論了許多先進的網絡編程技術。我一直在做網絡編程多年,即使是現在,如果沒有我在這個偉大的參考文獻中查找某些東西,幾乎每一天都是如此。

4

經典的史蒂文文本總是一個很好的開始(例如,UNIX網絡編程,UNIX環境下的高級編程)。除此之外,關注分佈式編程技術和消息傳遞系統。通過套接字傳遞消息的事實並不像理解如何設計異步分佈式體系結構那麼重要。

我也會拿起TCP/IP Illustrated的副本,因爲理解IP路由如何工作,TCP和UDP如何工作(以及它們如何不同)是最重要的實用知識關於網絡。之後,深入研究DNS和HTTP。我還沒有找到關於這兩個真正好的文本...也許有人會建議一些。如果所有其他操作都失敗,請閱讀RFC(適用於DNS的RFC1034/RFC1035和適用於HTTP的RFC2616)。

6

BeeJ's Guide to Network Programming是我學習POSIX系統的基本API調用的地方。甚至有關於如何將其轉換爲Windows代碼的章節。

我真的剛剛偶然發現了通過試錯的'好'網絡編碼實踐。我發現什麼是有效的,什麼是有效的,並與它一起運行。