• <ins id="rwosr"><acronym id="rwosr"></acronym></ins>
      <kbd id="rwosr"></kbd>

      1. <tr id="rwosr"></tr>
        <code id="rwosr"></code> <output id="rwosr"><track id="rwosr"></track></output>

        <output id="rwosr"><track id="rwosr"></track></output>
        <sup id="rwosr"><track id="rwosr"></track></sup>
        <tr id="rwosr"><nobr id="rwosr"><delect id="rwosr"></delect></nobr></tr>

        <output id="rwosr"><track id="rwosr"></track></output>
        400-650-7353
        您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】Socket概述

        【Python基礎知識】Socket概述

        • 來源:
        • 2021-08-30 16:47:05
        • 閱讀()
        • 分享
        • 手機端入口

        Socket是網絡編程中常用的一個術語。通常一個Socket表示用計算機軟件建立的一個網絡鏈接。一個Socket的建立過程需要給出目的計算機的IP地址和端口號,再指定協議類型即可。

        下面給出一個Socket的示例:

        1. >>> sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0

        其中,第一個參數代表地址簇,包括如下可選項:

        ①socket.AF_INET,代表IPv4協議,是默認值。

        ②socket.AF_INET6,代表IPv6協議。

        ③socket.AF_UNIX,僅在UNIX操作系統進程間通信中使用。

        第二個參數代表類型,包括如下可選項:

        ①socket.SOCK_STREAM,代表TCP協議采用的流式Socket,是默認值。

        ②socket.SOCK_DGRAM,代表UDP協議采用的數據報式Socket。

        ③socket.SOCK_RAW,代表原始套接字,采用普通的套接字不能處理ICMP、IGMP等網絡報文,而采用SOCK_RAW則可以處理。SOCK_RAW也可以處理特殊的IPv4報文。此外,利用SOCK_RAW可以通過IP_HDRINCL套接字選項使用戶能自己構造IP頭。

        ④socket.SOCK_RDM,代表一種相對可靠的UDP形式,即保證交付數據報,但不保證UDP數據報的順序。在執行某些特殊操作時需要使用SOCK_RDM,如發送ICMP報文。

        ⑤socket.SOCK_SEQPACKET,代表提供一種可靠的連續數據報服務。

        第三個參數代表協議,0為默認值,根據地址格式和套接字類別,系統會自動選擇一個合適的協議。

        Socket具有很多方法,下面分類介紹。

        (1)服務器端套接字方法

        sk.bind(address):將套接字綁定到地址address。在AF_INET協議下,以元組(hostname, port)的形式表示地址。

        sk.listen(backlog):開始監聽,傳入連接的最大數目。backlog指定在系統拒絕連接之前,可以掛起的最大連接數量。例如,backlog=5,表示系統已經接到了連接請求,但服務器端還沒有調用accept()方法進行處理的連接個數最大為5。這個值不能無限大,因為要在系統中維護連接隊列,從而需要資源。

        sk.setblocking(bool):是否阻塞(默認值為True),如果設置為False,那么accept()和recv()在接收到空包無數據時報錯。

        sk.accept():接受TCP 客戶端的連接(阻塞式),等待連接的到來,并返回(conn, address)。其中conn是新建的套接字對象,可以用來接收和發送數據;address是連接客戶端的地址。

        (2)客戶端套接字方法

        sk.connect(address):連接到address地址的套接字。address的一般格式為元組(hostname, port)。如果連接失敗,返回socket.error錯誤。

        sk.connect_ex(address):連接到address地址的套接字。address的一般格式為元組(hostname, port)。如果連接成功,返回 0 ;如果連接失敗,返回編碼。

        (3)通用套接字方法

        sk.close():關閉套接字。

        sk.recv(bufsize):接收套接字的數據,數據以字符串形式返回。bufsize是緩沖區大小,指定一次最多可以接收的數據數量。

        sk.recvfrom(bufsize):與recv()類似,但返回值是一個元組(data, address)。其中data是包含接收數據的字符串;address是發送數據的套接字地址。

        sk.send(string):將string中的數據發送到連接的套接字。

        sk.sendall(string):發送完整的TCP數據(本質就是循環調用send()。sendall()在待發送數據量大于己端緩存區剩余空間時,數據不會丟失,循環調用send()直到發完為止)。

        sk.sendto(string, address):將數據發送到套接字。address的一般格式為元組(hostname, port),指定遠程地址。

        sk.settimeout(timeout):設置套接字操作的超時期。timeout是一個浮點數,單位為秒,值為None表示沒有超時期。超時期一般應該在剛創建套接字時對于連接的操作設置(如 client 連接最多等待5s )。

        文章“【Python基礎知識】Socket概述”已幫助

        更多內容

        >>本文地址:http://www.littlerockbway.com/zhuanye/2021/69827.html

        THE END  

        聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

        1 您的年齡

        2 您的學歷

        3 您更想做哪個方向的工作?

        獲取測試結果
        • 大前端大前端
        • 大數據大數據
        • 互聯網營銷互聯網營銷
        • JavaJava
        • Linux云計算Linux
        • Python+人工智能Python
        • 嵌入式物聯網嵌入式
        • 全域電商運營全域電商運營
        • 軟件測試軟件測試
        • 室內設計室內設計
        • 平面設計平面設計
        • 電商設計電商設計
        • 網頁設計網頁設計
        • 全鏈路UI/UE設計UI設計
        • VR/AR游戲開發VR/AR
        • 網絡安全網絡安全
        • 新媒體與短視頻運營新媒體
        • 直播帶貨直播帶貨
        • 智能機器人軟件開發智能機器人
         

        快速通道fast track

        近期開班時間TIME

        两个人在线观看免费播放_国产精品天干天干_亚洲婷婷月色婷婷五月小蛇_男人的好小说全文免费阅读
      2. <ins id="rwosr"><acronym id="rwosr"></acronym></ins>
          <kbd id="rwosr"></kbd>

          1. <tr id="rwosr"></tr>
            <code id="rwosr"></code> <output id="rwosr"><track id="rwosr"></track></output>

            <output id="rwosr"><track id="rwosr"></track></output>
            <sup id="rwosr"><track id="rwosr"></track></sup>
            <tr id="rwosr"><nobr id="rwosr"><delect id="rwosr"></delect></nobr></tr>

            <output id="rwosr"><track id="rwosr"></track></output>
            <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>