1、網路中行程之間如何通信?
本地的行程間通信(IPC)有很多種方式,但可以總結為下面4類:
-
訊息傳遞(管道、FIFO、訊息佇列)
-
同步(互斥量、條件變數、讀寫鎖、檔案和寫記錄鎖、信號量)
-
共享記憶體(匿名的和具名的)
-
遠程程序呼叫(Solaris門和Sun RPC)
但這些都不是本文的主題!我們要討論的是網路中行程之間如何通信?首要解決的問題是如何唯一標識一個行程,否則通信無從談起!在本地可以通過行程PID來唯一標識一個行程,但是在網路中這是行不通的,其實TCP/IP協議族已經幫我們解決了這個問題,網路層的“ip地址”可以唯一標識網路中的主機,而傳輸層的“協議+埠”可以唯一標識主機中的應用程式(行程),這樣利用三元組(ip地址,協議,埠)就可以標識網路的行程了,網路中的行程通信就可以利用這個標志與其它行程進行互動,
使用TCP/IP協議的應用程式通常采用應用編程介面:UNIX BSD的套接字(socket)和UNIX System V的TLI(已經被淘汰),來實作網路行程之間的通信,就目前而言,幾乎所有的應用程式都是采用socket,而現在又是網路時代,網路中行程通信是無處不在,這就是我為什么說“一切皆socket”,
2、socket的基本操作
既然socket是“open—write/read—close”模式的一種實作,那么socket就提供了這些操作對應的函式介面,下面以TCP為例,介紹幾個基本的socket介面函式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/398757.html
標籤:其他
上一篇:GRE隧道技術
下一篇:DSA演算法
