生活随笔
收集整理的這篇文章主要介紹了
                                
网络和通信
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
 
                                
                            
                            
                            網(wǎng)絡(luò)
 
文章目錄
- 網(wǎng)絡(luò)
- 1:三次握手和四次揮手
- 2:可靠傳輸?shù)谋WC
- 3:進(jìn)程之間的通信方式
- 3:線程之間的同步方式
 
1:三次握手和四次揮手
 
- 客戶端發(fā)送帶有SYN標(biāo)志的數(shù)據(jù)包,一次握手——服務(wù)器
- 服務(wù)端發(fā)送帶有 SYN/ACK標(biāo)志的數(shù)據(jù)包,二次握手——客戶端
- 客戶端發(fā)送帶有ACK標(biāo)志的數(shù)據(jù)包,三次握手——服務(wù)端
- 為什么要三次 - 第一次,client什么都不能確定,server確定了對方發(fā)送正常,自己接受正常
- 第二次,client確定了:自己發(fā)送,接受正常,對方兩項(xiàng)也正常,server確認(rèn)了對方發(fā)送正常,自己接受正常
- 第三次:client確定了自己和他都正常,server也確定了
 
- 為什么傳回了ACK,還要SYN - 告訴客戶端,我收到的消息確實(shí)是你發(fā)送過來的
 
- 四次揮手 - 客戶端發(fā)送一個(gè)FIN,用來關(guān)閉客戶端到服務(wù)器的數(shù)據(jù)傳送
- 服務(wù)區(qū)收到了這個(gè)FIN,發(fā)回一個(gè)ACK,確定序號為收到的序號+1,和SYN一樣,FIN將占用一個(gè)序號
- 服務(wù)器關(guān)閉與客戶端的連接,發(fā)送一個(gè)FIN給客戶端
- 客戶端發(fā)送ACK報(bào)文確定,并將確認(rèn)序號設(shè)置為收到的序號+1
- 客戶端告訴服務(wù)器,我要關(guān)閉了
- 服務(wù)器收到了這個(gè)消息,說我收到了
- 服務(wù)器說,我關(guān)閉了
- 客戶端說,我也關(guān)閉了
- A:我沒啥說的了
- B:我知道了
- B:我說完了
- A:我也知道了
 
2:可靠傳輸?shù)谋WC
 
- 校驗(yàn)和
- 流量控制
- 擁塞控制
- ARQ協(xié)議
- 超時(shí)重傳
3:進(jìn)程之間的通信方式
 
- 管道/匿名管道,具有血緣關(guān)系的父子進(jìn)程后者兄弟之間的通信
- 有名管道:先進(jìn)先出,以磁盤文件的形式存在
- 信號:singal,通知某個(gè)進(jìn)程某個(gè)事情已經(jīng)發(fā)生
- 消息隊(duì)列:先進(jìn)先出的原則,消息隊(duì)列實(shí)現(xiàn)消息的隨機(jī)查詢,
- 信號量:是一個(gè)計(jì)數(shù)器,多進(jìn)程對共享數(shù)據(jù)的訪問
- 共享內(nèi)存:多個(gè)進(jìn)程可以訪問同一塊的內(nèi)存空間,互斥鎖和信號量
- 套接字:客戶端和服務(wù)器之間通過網(wǎng)絡(luò)進(jìn)行通信。
3:線程之間的同步方式
 
- 互斥量:mutex
- 信號量:semaphore
- 時(shí)間:wait/ notify
總結(jié)
                            
                                以上是生活随笔為你收集整理的网络和通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。