~~網絡編程(三):TCP/UDP~~


進擊のpython

*****

網絡編程——TCP/UDP協議


其實你也發現了,應用層是交給應用來處理的,我們什么也做不了

相較於網絡編程來說,我們更重要的是在做應用層和傳輸層的對接

因為你也看到了,如果我傳輸層成功了,后面的層級其實是自動進行的

那,傳輸層的關鍵是什么呢????協議!

那傳輸層的協議有什么呢?TCP/UDP協議

那我們現在就可以針對這兩個協議來進行學習,看看如何才能把信息傳到下一層


  • TCP協議

    TCP協議是什么呢?TCP協議其實也叫流式協議

    就是像流水一樣傳輸的協議

    他將數據看作流水一般,在服務端和客戶端之間傳輸

    那我問你熬,我要是想把這個水流給你,直接扔給你?

    不能把,我是不是要通過一個管子給你啊

    在咱倆之間創建一個管子,然后我把水通過這個管子流給你

    那你也想把水流給我,你能用我的管子嗎?不能吧

    你也得整個管子,然后把水流流給我是吧


    那我是有水流了現挖管子嘛?不是吧!

    我應該先挖管子,然后等到有水流的時候直接用是吧

    而且 我再問你 你管子一下子就整完了?

    也不是吧,是不是要有一點時間來做管子啊


    而且還有一個問題,我要往你那挖就能挖嘛?

    不是吧,是不是應該征求你的同意啊

    所以說!要是搭建這個傳輸層應該是這樣的:

    我問你同不同意建管道

    你給我個回應說你同意

    你問我同不同意建管道

    我給你個回應說我同意

    沒問題吧,這個操作過程

    那我們把一次過程叫做握手的話,那這是... ...四次握手!

    但是啊,TCP協議是三次握手,怎么握手呢?

    你會發現第二步和第三步都是你的操作

    所以本着省事的原則,二三步就可以是確認並請求對吧

    那這樣,就變成了三次握手

    三次握手的完成也就是兩端的管道搭建成功


    同時,TCP協議,也是可靠傳輸協議

    什么叫可靠??就是我傳信息的時候,你必須要給你一個反饋信息

    我拿到你的反饋信息,我才繼續下面的操作,否則我就一直給你傳

    那我還有問題,水流總是要流完的吧,那我流完了之后是不是要拆管道了

    怎么拆呢?

    我跟你說我要拆管道

    你給我個回應說你同意

    你跟我說你要拆管道

    我給你個回應說我同意

    對吧!就是這樣的吧

    那我們能不能像三次握手一樣,把第二步第三步合在一起呢?

    我跟你說我的水流完了,要斷開沒問題吧

    但是你是不是要把流向你的水流完才能跟我說你要斷開

    總不能我水剛流完你就流完了吧,這不科學啊

    所以不能合在一起

    那我把每一步都叫揮手的話,那這就叫四次揮手


  • UDP協議

    UDP協議比較好玩的就是,他根本不需要管道

    而且她知道了你的ip和端口之后,直接把數據扔給你

    管你接沒接到,所以相比較TCP來說傳數據的過程就不可靠了

    但是,相較於TCP來說,UDP的發送效率更高

    因為不用建管子,也不用接受確認信息


這一塊的理論部分就結束了

后面就是教你怎么創建管道傳輸數據了


*理論結束*
*下面實操*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM