socket套接字起源於美國泊克利大學.方便了開發網路應用程式.
tcp面向連線的可靠傳輸協議,具有資料確認和資料重傳機制.保證了傳送資料一定能到達通訊的對方.對資料完整性要求比較高的場合使用 。
upd協議無連線,不可靠的傳輸協議.不具有資料確認和資料重傳機制,對資料完整性要求比較低的場合使用 。
ip 網路中每台主機都必須有乙個惟一ip位址,ip位址是個邏輯位址.網際網路上的ip位址具有全球惟一性.32位,4個位元組,常用點分十進位制的格式表示 。
socket是套接字的意思,一般用來描述ip位址和埠,是乙個通訊鏈的控制代碼。應用程式通常通過套接字向網路發出請求或者應答網路請求。
摘一段比喻,有助於理解。
socket非常類似於**插座。以乙個國家級**網為例。**的通話雙方相當於相互通訊的2個程序,區號是它的網路位址;區內乙個單位的交換機相當於一台主機,主機分配給每個使用者的局內號碼相當於socket號。任何使用者在通話之前,首先要占有一部**機,相當於申請乙個socket;同時要知道對方的號碼,相當於對方有乙個固定的socket。然後向對方撥號呼叫,相當於發出連線請求(假如對方不在同一區內,還要撥對方區號,相當於給出網路位址)。對方假如在場並空閒(相當於通訊的另一主機開機且可以接受連線請求),拿起**話筒,雙方就可以正式通話,相當於連線成功。雙方通話的過程,是一方向**機發出訊號和對方從**機接收訊號的過程,相當於向socket傳送資料和從socket接收資料。通話結束後,一方掛起**機相當於關閉socket,撤消連線。在**系統中,一般使用者只能感受到本地**機和對方**號碼的存在,建立通話的過程,話音傳輸的過程以及整個**系統的技術細節對他都是透明的,這也與socket機制非常相似。socket利用網間網通訊設施實現程序通訊,但它對通訊設施的細節毫不關心,只要通訊設施能提供足夠的通訊能力,它就滿足了。
抽象出來,socket實質上提供了程序通訊的端點。程序通訊之前,雙方首先必須各自建立乙個端點,否則是沒有辦法建立聯絡並相互通訊的。正如打**之前,雙方必須各自擁有一台**機一樣。
socket 通訊機制
如何唯一標識乙個程序 在本地可以通過程序pid來唯一標識乙個程序,但是在網路中這是行不通的。其實tcp ip協議族已經幫我們解決了這個問題,網路層的 ip位址 可以唯一標識網路中的主機,而傳輸層的 協議 埠 可以唯一標識主機中的應用程式 程序 這樣利用三元組 ip位址,協議,埠 就可以標識網路的程序...
Socket程序通訊機制
1 socket通常稱為 套接字 用於描述ip位址和埠,是乙個通訊鏈的控制代碼。2 應用程式通過套接字向網路發出請求或者應答網路請求。3 socket既不是乙個程式,也不是一種協議,其只是作業系統提供的通訊層的一組抽象api。4 程序通訊的相關概念 網間程序通訊要解決的是不同主機程序間相互通訊問題。...
Socket的通訊機制?
套接字 socket 是通訊的基石,是支援tcp ip協議的網路通訊的基本操作單元。它是網路通訊過程中端點的抽象表示,包含進行網路通訊必須的五種資訊 連線使用的協議,本地主機的ip位址,本地程序的協議埠,遠地主機的ip位址,遠地程序的協議埠。應用層通過傳輸層進行資料通訊時,tcp會遇到同時為多個應用...