1. 程式人生 > >python基礎20 ------python基礎之socket編程

python基礎20 ------python基礎之socket編程

應用 主機 請求 端口 -- 工作 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編程