socket的通信原理
Socket指套接字,就是對網絡中不同主機上的應用進程之間進行雙向通信的端點的抽象。一個套接字就是網絡上進程通信的一端,提供了應用層進程利用網絡協議交換數據的機制。從所處的地位來講,套接字上聯應用進程,下聯網絡協議棧,是應用程序通過網絡協議進行通信的接口,是應用程序與網絡協議棧進行交互的接口。
Socket保證了不同計算機之間的通信,也就是網絡通信。對於網站,通信模型是服務器與客戶端之間的通信。兩端都建立了一個Socket對象,然後通過Socket對象對數據進行傳輸。通常服務器處於一個無限循環,等待客戶端的連接。
套接字是通信的基石,是支持TCP/IP協議的路通信的基本操作單元。可以將套接字看作不同主機間的進程進行雙間通信的端點,它構成了單個主機內及整個網絡間的編程界面。套接字存在於通信域中,通信域是爲了處理一般的線程通過套接字通信而引進的一種抽象概念。套接字通常和同一個域中的套接字交換數據,各種進程使用這個相同的域互相之間用Internet協議簇來進行通信,套接字還有以下類型:
1、流套接字
流套接字用於提供面向連接、可靠的數據傳輸服務。該服務將保證數據能夠實現無差錯、無重複送,並按順序接收。流套接字之所以能夠實現可靠的數據服務,原因在於其使用了傳輸控制協議,即TCP協議。
2、數據報套接字
數據報套接字提供一種無連接的服務。該服務並不能保證數據傳輸的可靠性,數據有可能在傳輸過程中丟失或出現數據重複,且無法保證順序地接收到數據。數據報套接字使用UDP協議進行數據的傳輸。由於數據報套接字不能保證數據傳輸的可靠性,對於有可能出現的數據丟失情況,需要在程序中做相應的處理 。
3、原始套接字
原始套接字與標準套接字(標準套接字指的是前面介紹的流套接字和數據報套接字)的區別在於:原始套接字可以讀寫內核沒有處理的IP數據包,而流套接字只能讀取TCP協議的數據,數據報套接字只能讀取UDP協議的數據。因此,如果要訪問其他協議發送的數據必須使用原始套接。
-
大學畢業季的話
1、天,我們即將分別在兩個不一樣的學校!2、同桌,沒我在身邊嘮叨,會不會有些不習慣。3、最後一個夏天,沒有心情去海邊,只想靜靜躲在房間翻照片。4、請相信,那些偷偷溜走的時光,催老了我們的容顏,卻豐盈了我們的人生。5、我們在愛情中度過的時光長出了翅膀,當我們離別時,它...
-
2022虎年新年祝福押韻
願你的一切煩惱被二極管截止,快樂被三極管放大,生活裏的磕磕絆絆被穩壓管整流,一切幸福被愛的芯片集成,被生活的電容存儲,無阻尼振盪伴你一生!祝新年快樂!當你看見這信息時,幸運已降臨到你頭上,財神已進了你家門,福氣滾滾奔向你,祝福你新春快樂!春節到,福來報,開開心心鬧...
-
黃桃怎麼保存,黃桃的保存方法介紹
1、新鮮的黃桃連同外包裝一起放進冰箱的冷藏箱內或者保鮮箱內,注意不能清洗,不能用塑料袋封口,一般可以存放7-15天。2、如果一下子購買太多的黃桃,且黃桃太成熟,果肉太軟的情況下,也可以製作成黃桃果醬保存。3、將黃桃清洗乾淨後去皮去核,將黃桃果肉放在淡鹽水中浸泡5...
-
一葉障目的道理是什麼
一葉障目的意思是一片葉子擋在眼前會讓人看不到外面的廣闊世界。比喻被局部或暫時的現象所迷惑。故警示我們要看清事物的全貌,還不能盲目輕信、盲目崇拜,必須經過科學的調查和驗證,以謙虛謹慎的態度予以看待。一葉障目造句:1、你們不能一葉障目,僅僅因爲一些小的失...