2017年2月6日 星期一

perl socket 編程速查

基本原理 ,流程圖畫得真是好

小小飯粒範例 ,拿來做 trouble shooting 真是方便

分解動作 ,這種 while ($line = <$sock>) 的寫法邪惡精簡得很啊

console-based 的程式通常是啟動費時短,沒有(or不需要)多工的能力,用來服務單一客戶端之用。一旦出現 contraindication 時,就是 socket-based + non-blocking IO 程式出現的時機了,尤其是還可視負載將服務分散到不同主機上。直覺上就是這樣,只有一台機器的時候,就是排隊,不想排隊而假裝多工,只是讓大家都等,等得更久而已。讓人排隊,還不如讓它 timeout / 返回錯誤值,讓人可以利用等待的時間做其它的工作。所以單機的情況下真的需要多工嗎?這要先好好了解,才能知道接下來要做什麼。

所以回過頭來看,最開頭分享的三個連結,其實對一般日常的任務而言,已經是很足夠的了。

沒有留言:

張貼留言