您現在的位置是:首頁 » python編程資訊
資訊內容
python基礎知識一:網絡通信數據傳輸<span style="font-family:楷體;color:Red"> 前言&l
極客小將2021-02-27-
簡介免費學習推薦:python教程(視頻)python實現網絡通信數據傳輸(基礎知識(一))前言基礎知識學習一、同步異步二、什么是socket三、socket套接字的分類1、流格式套接字SOCK_STREAM2、數據報格式套接字(SOCK_DGRAM)四、IP地址、MAC地址、端口地址結束語前言我不是通

免費學習推薦:python教程(視頻)1yc少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
python實現網絡通信數據傳輸(基礎知識(一)) 前言 基礎知識學習 一、同步異步 二、 什么是 socket三、socket套接字的分類1、流格式套接字SOCK_STREAM2、數據報格式套接字(SOCK_DGRAM)四、IP地址、MAC地址、端口地址結束語 前言我不是通信信息專業的,但是**近接觸了一些這方面的知識感覺挺有意思就學習了一下,并將學習結果記錄在這里,以便給更多人學習,要是能得到大佬的指點就美滋滋啦!!!1yc少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
基礎知識學習 一、同步異步同步就是整個處理過程順序執行,當各個過程都執行完畢,并返回結果。是一種線性執行的方式,執行的流程不能跨越。一般用于流程性比較強的程序,比如用戶登錄,需要對用戶驗證完成后才能登錄系統。(發送方發一個,接收方接收一個,是同步的。)異步則是只是發送了調用的指令,調用者無需等待被調用的方法完全執行完畢;而是繼續執行下面的流程。是一種并行處理的方式,不必等待一個程序執行完,可以執行其它的任務,比如頁面數據加載過程,不需要等所有數據獲取后再顯示頁面。
(發送方發送數據,接收方有一個緩存區,可以按照自己的規律去接受,當然發送方也可按照自己的規律去發送,兩者是異步的) 二、 什么是 socketsocket 的原意是“插座”,在計算機通信領域,socket 被翻譯為“套接字”,它是計算機之間進行通信的一種約定或一種方式。通過 socket 這種約定,計算機之間建立網絡連接。為了方便理解,我們可以類比插座,我們把插頭插到插座上就能從電網獲得電力供應,同樣,為了與遠程計算機進行數據傳輸,需要連接到因特網,而 socket 就是用來連接到因特網的工具。與 UNIX/Linux 不同的是,Windows 會區分 socket 和文件,Windows 就把 socket 當做一個網絡連接來對待,因此需要調用專門針對 socket 而設計的數據傳輸函數,針對普通文件的輸入輸出函數就無效了。三、socket套接字的分類
主要常用兩種是流格式套接字(SOCK_STREAM)和數據報格式套接字(SOCK_DGRAM)。1yc少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
1、流格式套接字SOCK_STREAM有以下幾個特征:數據在傳輸過程中不會消失;
數據是按照順序傳輸的;
數據的發送和接收是異步的。 它使用了 TCP 協議(The Transmission Control Protocol,傳輸控制協議),TCP 協議會控制你的數據按照順序到達并且沒有錯誤。
強調高質量。2、數據報格式套接字(SOCK_DGRAM)計算機只管傳輸數據,不作數據校驗,如果數據在傳輸中損壞,或者沒有到達另一臺計算機,是沒有辦法補救的。也就是說,數據錯了就錯了,無法重傳。因為數據報套接字所做的校驗工作少,所以在傳輸效率方面比流格式套接字要高。它有以下特征:
強調快速傳輸而非傳輸順序;
傳輸的數據可能丟失也可能損毀;
限制每次傳輸的數據大小;
數據的發送和接收是同步的。
數據報套接字也使用 IP 協議作路由,使用 UDP 協議(User Datagram Protocol,用戶數據報協議)。注意: SOCK_DGRAM 沒有想象中的糟糕,不會頻繁的丟失數據,數據錯誤只是小概率事件。四、IP地址、MAC地址、端口地址IP地址:是 Internet Protocol Address 的縮寫,譯為“網際協議地址”。目前大部分軟件使用 IPv4 地址,但 IPv6 也正在被人們接受,尤其是在教育網中,已經大量使用。
對于IPV4,一個計算機一個IP地址是不現實的,所以一般是一個局域網一個IP地址。路由器會根據 IP 地址找到對方的地里位置,路由器有非常高效和智能的算法,很快就會找到目標局域網。MAC地址:是物理地址,一個局域網地址有多個計算機的MAC地址,數據包中除了會附帶對方的 IP 地址,還會附帶對方的 MAC 地址,當數據包達到局域網以后,路由器/交換機會根據數據包中的 MAC 地址找到對應的計算機端口地址:一臺計算機可以同時提供多種網絡服務,例如 Web 服務(網站)、FTP 服務(文件傳輸服務)、SMTP 服務(郵箱服務)等,僅有 IP 地址和 MAC 地址,計算機雖然可以正確接收到數據包,但是卻不知道要將數據包交給哪個網絡程序來處理,所以通信失敗。
為了區分不同的網絡程序,計算機會為每個網絡程序分配一個獨一無二的端口號(Port Number)。端口(Port)是一個虛擬的、邏輯上的概念。可以將端口理解為一道門,數據通過這道門流入流出,每道門有不同的編號,就是端口號。如下圖所示:

- 上一篇
python如何清除html文件中的內容
簡介python清除html文件中內容的方法:1、使用join方法,代碼為【pat=re.compile('>(.*?)<')''.join(pat.findall(test))】;2、使用compile方法。本教程操作環境:windows7系統、python
- 下一篇
python基礎知識之二:網絡通信數據傳輸
簡介python實現網絡通信數據傳輸(基礎知識(二))免費學習推薦:python視頻教程前言基礎知識學習一、OSI模型二、TCP、IP協議族:三、python中字符串的編碼方式結束語前言第二彈來了!今天還是上些基礎知識吧,扎實的基礎才是深入學習的不二法門!!!基礎知識學習一、OSI模型OSI模型把網絡通