網路程式設計就是使用IP地址,或域名,和埠連線到另一台計算機上對應的程式,按照規定的協定(資料格式)來交換資料。網路程式設計最主要的工作就是在傳送端把資訊通過規定好的協定進行組裝包,在接收端按照規定好的協定把包進行解析,從而提取出對應的資訊,達到通訊的目的。
中間最主要的就是封包的組裝,封包的過濾,封包的捕獲,封包的分析,當然最後再做一些處理,程式碼、開發工具、資料庫、伺服器架設和網頁設計這5部分你都要接觸。
實際程式設計中建立連線和傳送、接收資料在語言級已經實現,做的更多的工作是設計協定,以及編寫生成和解析資料的程式碼罷了,然後把資料轉換成邏輯的結構顯示或控制邏輯即可。
網路程式設計的本質是兩個裝置之間的資料交換,當然,在計算機網路中,裝置主要指計算機。資料傳遞本身沒有多大的難度,不就是把一個裝置中的資料傳送給兩外一個裝置,然後接受另外一個裝置反饋的資料。
網路程式設計能夠做什麼
下面簡單列出一些我能想到的跟網路打交道的程式設計任務,其中前三項是面向網路本身,後面幾項是在計算機網路之上構建資訊系統。
1. 開發網路裝置,編寫防火牆、交換機、路由器的韌體 firmware
2. 開發或移植網絡卡的驅動
3. 移植或維護TCP/IP協定棧(特別是在嵌入式系統上)
4. 開發或維護標準的網路協定程式,HTTP、FTP、DNS、SMTP、POP3、NFS
5. 開發標準網路協定的「附加品」,比如HAProxy、squid、varnish等web load balancer
6. 開發標準或非標準網路服務的用戶端庫,比如ZooKeeper用戶端庫,memcached用戶端庫
7. 開發與公司業務直接相關的網路服務程式,比如即時聊天軟體的後台伺服器,網遊伺服器,金融交易系統,網際網路企業用的分散式海量儲存,微博發帖的內部廣播通知,等等
8. 用戶端程式中涉及網路的部分,比如郵件用戶端中與 POP3、SMTP通訊的部分,以及網遊的用戶端程式中與伺服器通訊的部分
網路程式語言主要包括JAVA、C、C++、.NET、PHP、Python、ASP等
以上就是網路程式設計是做什麼的?的詳細內容,更多請關注TW511.COM其它相關文章!