国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

socket編程到底是什么

工程師鄧生 ? 來源:python猿 ? 作者:python猿 ? 2020-01-16 17:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是socket?

簡稱套接字,是進程間通信的一種方式,它與其他進程間通信的一個主要不同是:它能實現不同主機間的進程間通信,我們網絡上各種各樣的服務大多數是基于socket來完成通信的。

socket是基于C/S架構的,也就是說socket網絡編程,通常需要寫兩個文件,一個服務端,一個客戶端。

Python中的socket通信邏輯如下圖所示

在python中,用socket.socket()方法來創建套接字

s = socket.socket([family[, type[, proto]]])

參數說明:

family:套接字家族,可以使用AF_UNIX或者AF_INET

type:套接字類型,分為SOCK_STREAM或者SOCK_DGRAM,分別代表TCP和UDP

protocol: 一般不填默認為0

注意

1、python3以后,socket傳遞的都是bytes類型的數據,字符串需要先轉換一下,string.encode()即可;另一端在接收數據的時候需要bytes轉換成字符串,只要bytes.decode()一下就可以

2、在正常通信時,accept()和recv()方法都是阻塞的。所謂的阻塞,指的是程序會暫停在哪,一直等數據過來

socket編程思路

服務端 TCP

1 創建套接字,綁定套接字到本地IP與端口:socket.socket(scoket.AF_INET,socket.SOCK_STREAM), s.bind()

2 開始監聽鏈接:s.listen()

3 進入循環,不斷接受客戶端的鏈接請求:s.accept()

4 接收傳來的數據,或者發送數據給對方:s.recv() , s.sendall()

5 傳輸完畢后,關閉套接字:s.close()

客戶端

1 創建套接字,連接服務器地址:socket.socket(scoket.AF_INET,socket.SCOK_STREAM),s.connect()

2 連接后發送數據和接收數據: s.sendall(),s.recv()

3 傳輸完畢后,關閉套接字:s.close()

python的socket編程,通常可以分為TCP和UDP編程兩種,前者是連接的可靠傳輸服務,每次通信都要握手,結束傳輸也要揮手,數據會被檢驗,是使用最廣的通用模式;后者是不帶連接的傳輸服務,簡單粗暴

TCP編程

服務器端:

客戶端:

雖然服務器和客戶端在一對一的情況下,工作良好,但是,如果有多個客戶端同時連接同一個服務器呢?結果可能不太令人滿意,因為服務器無法同時對多個客戶端提供服務。為什么會這樣呢?因為Python的socket模塊,默認情況下創建的是單進程單線程,同時只能處理一個連接請求,如果要實現多用戶服務,那么需要使用多線程機制

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Socket
    +關注

    關注

    1

    文章

    214

    瀏覽量

    36909
  • 編程
    +關注

    關注

    90

    文章

    3716

    瀏覽量

    97185
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TCP/IP(Socket)協議深度剖析

    TCP/IP協議作為互聯網通信的基礎架構,其核心機制Socket編程承載著全球數據交換的使命。本文將深入剖析這一協議的七層架構、三次握手與四次揮手的精妙設計、流量控制與擁塞控制的動態平衡,以及現代互聯網環境下面臨的挑戰與演進方向。
    的頭像 發表于 03-03 17:06 ?476次閱讀

    輕松掌握——LuatOS socket基礎知識和應用開發

    對于剛接觸LuatOS開發的工程師而言,實現設備聯網往往是第一個重要目標,而Socket編程正是實現這一目標的核心技術路徑。本文以循序漸進的方式,帶領讀者從最基礎的Socket概念入手,逐步掌握在
    的頭像 發表于 01-28 20:07 ?173次閱讀
    輕松掌握——LuatOS  <b class='flag-5'>socket</b>基礎知識和應用開發

    MOS管到底是什么?和三極管、繼電器有什么本質區別?

    MOS管到底是什么?和三極管、繼電器有什么本質區別?在電子設備的“心臟”部位,藏著許多默默工作的“開關選手”。它們操控著電流的通斷,決定著設備的效率與穩定性。其中,MOS管作為近年來高頻
    的頭像 發表于 01-07 13:46 ?531次閱讀
    MOS管<b class='flag-5'>到底是</b>什么?和三極管、繼電器有什么本質區別?

    socket是什么

    特定的IP地址和端口上等待客戶端連接,客戶端則通過Socket連接到服務器程序并進行通信。通過Socket技術,可以實現不同操作系統和編程語言之間的通信,使得網絡應用程序的開發更加靈活和方便
    發表于 12-03 08:27

    IGBT到底是什么?-從名稱入手來帶您了解

    對于工作需要用到IGBT、但從未專業學習過IGBT的人來說, IGBT到底是什么、它為什么叫IGBT、它的核心關鍵詞是什么、要怎么理解它 等一系列問題并無法一次性在某個地方獲取到,都需要查閱大量的資料,學習大量的基礎才能有個初步的了解。 為了讓更多的人在更少的時間內掌握IGBT,我將在
    的頭像 發表于 11-25 17:38 ?1522次閱讀
    IGBT<b class='flag-5'>到底是</b>什么?-從名稱入手來帶您了解

    請問Keil中的map文件到底是什么意思?

    Keil中的map文件到底是什么意思?里面是如何進行相關執行操作的
    發表于 11-25 06:59

    單片機和嵌入式,到底是什么關系?

    的關系:什么是單片機?什么是嵌入式?它們到底是不是一回事?先說說大家最先聽說的那個詞——單片機(MCU)。單片機,全稱是MicrocontrollerUnit,顧名思
    的頭像 發表于 11-14 10:28 ?1506次閱讀
    單片機和嵌入式,<b class='flag-5'>到底是</b>什么關系?

    請問at_device不用at socket能使用bsd socket嗎?

    at_device不用at socket能使用bsd socket嗎?
    發表于 09-10 08:04

    IEC 到底是什么?為什么它能影響全球?

    IEC 到底是什么?為什么它能影響全球?
    的頭像 發表于 09-04 17:07 ?3559次閱讀

    GraniStudio : TCP/IP(Socket)協議深度剖析

    在工業自動化與物聯網領域,TCP/IP(Socket)協議作為應用最廣泛的網絡通信標準,是實現設備間數據交互的核心技術。GraniStudio 軟件作為工業級零代碼開發平臺,其內置的 TCP/IP
    的頭像 發表于 08-03 22:20 ?1191次閱讀
    GraniStudio : TCP/IP(<b class='flag-5'>Socket</b>)協議深度剖析

    晶振的 “負載電容” 到底是什么

    負載電容,到底是什么? 負載電容,簡單來說,是指晶振的兩條引線連接IC塊內部及外部所有有效電容之和,我們可以將其看作晶振片在電路中串接的電容。從更專業的角度講,它是為了使晶振能夠在其標稱頻率下穩定
    的頭像 發表于 07-25 16:26 ?1067次閱讀

    請問編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?

    編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?
    發表于 07-11 07:22

    智能盒子到底是什么東西?昇騰310深度測評:為何能成為行業新寵?

    讓人摸不著頭腦的“智能盒子”。各位搞技術、搞工程的朋友,咱們在工作中是不是經常聽到“智能盒子”這個說法?每次聽到這個詞,我猜很多人心里都在犯嘀咕:這東西到底是個啥玩意兒?難道就是個裝了點智能軟件的普通盒子?它到底有啥用?能給咱們的工作帶來啥方便?
    的頭像 發表于 04-27 10:46 ?1886次閱讀
    智能盒子<b class='flag-5'>到底是</b>什么東西?昇騰310深度測評:為何能成為行業新寵?

    一文給你講透!DA板卡到底是什么?它和主板又有哪些不同?

    大家好,我是老王,在電子行業干了十幾年,今天我就用“大白話”給大家講講DA板卡到底是啥,它和咱們常說的“主板”有啥區別。文章里會穿插一些表格和實際案例,保證你讀完不僅能懂,還能跟朋友吹牛!
    的頭像 發表于 04-24 16:48 ?2383次閱讀
    一文給你講透!DA板卡<b class='flag-5'>到底是</b>什么?它和主板又有哪些不同?

    使用燒錄器STLINK V3 mini的時候,發現14PIN的接口上面有一個GNDDETECT PIN,Type是輸出結構,這個PIN到底是干啥用的?

    我在使用燒錄器STLINK V3 mini的時候,發現14PIN的接口上面有一個GNDDETECT PIN,Type 是輸出結構,我想知道這個PIN到底是干啥用的?要怎么接才合理?
    發表于 03-14 09:39