Unix下網絡編程概述

這部分我要學習的是Unix下的網絡編程,參照的書籍是W. Richard. Stevens的《Unix網絡編程》卷一和卷二,因爲自己如今從事的工做是java後臺開發,對客戶端-服務器的這種通訊並不陌生。java

學習Unix下網絡編程開發不是之後要從事這方面工做,是想學一下計算機網絡知識,包括其中各類概念的釐清,和熟悉C編程、網絡編程。編程

網絡編程說白了很簡單,就是兩個對象(機器、應用程序)之間相互通訊。通訊是一個信息交換的過程,像咱們人與人之間交流說話就是一種通訊過程,由於幾乎天天都會與人交流,致使咱們都太熟悉了這個過程。服務器

如今要將兩臺機器之間進行通訊的話,須要肯定通訊的協議。協議是一個大的概念,這裏先不去細講。網絡

能夠設想兩臺機器之間通訊是個啥狀況:異步

1. 機器也有語言,最根本的就是使用0-1這種二進制數字了,無論是信息的存儲仍是指令都是若干二進制字符。不過二進制單位過小,比較方便的仍是使用字節。async

2. 機器A發送了不少個字節給機器B,B得知道如何解析這段字節學習

感受寫的太細。。。spa

客戶和服務器經過某個應用協議進行數據交換。計算機網絡

如今Unix網絡通訊關注的點就在於客戶和服務器進行接觸的這塊。設計

程序之間相互通訊之間首先要肯定的是通訊協議(protocol)

服務器能夠想象成移動營業廳的服務廳,從早上上班到晚上下班開始就一直有人等着有人來,而後給別人提供服務,放到Unix中就是守護進程(daemon)

 

借用移動營業廳的場景來講,通常都是咱們主動去到營業廳,請求別人服務,好比充話費、改套餐等,不多有移動營業廳的人會主動找到咱們說提供服務。放到咱們這就是通常再設計的時候都是由客戶首先發起請求,這樣能夠簡化協議和程序。

可是也有,好比某個月我可能流量超出太多(目前常常這樣),會有客服打電話提醒我要不要辦理流量加油包,這種操做就是異步回調(asynchronous callback),也就是服務器會向客戶發起請求。

相關文章
相關標籤/搜索