python基礎20 ------python基礎之socket編程
阿新 • • 發佈:2017-07-10
應用 主機 請求 端口 -- 工作 span 我們 技術
一、C/S架構和B/S架構的簡介
略
二、osi七層模型
略
三、socket層
1、如圖所示:
socket層是存在於應用層和傳輸層直接抽象出來的一層。
2、socket層是什麽?
Socket是應用層與TCP/IP協議族通信的中間軟件抽象層,它是一組接口。在設計模式中,Socket其實就是一個門面模式,它把復雜的 TCP/IP協議族隱藏在Socket接口後面,對用戶來說,一組簡單的接口就是全部,讓Socket去組織數據,以符合指定的協議。所以,我們無需 深入理解tcp/udp協議,socket已經為我們封裝好了,我們只需要遵循socket的規定去編程,寫出的程序自然就是遵循tcp/udp標準的。
四、套接字
1、什麽是套接字?
源IP地址和目的IP地址以及源端口號和目的端口號的組合稱為套接字。其用於標識客戶端請求的服務器和服務。
它是網絡通信過程中端點的抽象表示,包含進行網絡通信必需的五種信息:連接使用的協議,本地主機的IP地址,本地進程的協議端 口,遠地主機的IP地址,遠地進程的協議端口。
2、為啥會有套接字?
應用層通過傳輸層進行數據通信時,TCP和UDP會遇到同時為多個應用程序進程提供並發服務的問題。多個TCP連接或多個應用程序進 程可能需要 通過同一個TCP協議端口傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交 互提供了稱為套接字 (Socket)的接口,區分不同應用程序進程間的網絡通信和連接。
3、套接字的工作原理:
python基礎20 ------python基礎之socket編程