欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)套接字創(chuàng)建

 更新時(shí)間:2022年05月25日 17:05:58   作者:林海峰4573  
這篇文章主要為大家介紹了python套接字創(chuàng)建實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1、網(wǎng)絡(luò)協(xié)議
  

TCP / IP 是設(shè)備用于在 Internet 和大多數(shù)本地網(wǎng)絡(luò)上進(jìn)行通信的一組協(xié)議。 TCP 更可靠,具有大量錯(cuò)誤檢查并需要更多資源。 HTTP,SMTP 或 FTP 等服務(wù)使用它。 UDP 的可靠性要差得多,錯(cuò)誤檢查的能力也有限,所需資源也更少。 VoIP 等服務(wù)使用它。

socket.SOCK_STREAM用于為 TCP 創(chuàng)建套接字,而socket.SOCK_DGRAM為 UDP 創(chuàng)建套接字。

2、地址族
  

創(chuàng)建套接字時(shí),必須指定其地址族,在套接字中使用該類型。

AF_UNIX,AF_LOCAL-本地通訊

AF_INET-IPv4 Internet 協(xié)議

AF_INET6-IPv6 Internet 協(xié)議

AF_IPX-IPX-Novell 協(xié)議

AF_BLUETOOTH-無(wú)線藍(lán)牙協(xié)議

AF_PACKET-底層數(shù)據(jù)包接口

對(duì)于AF_INET?地址族,指定了一對(duì)(主機(jī),端口)。 host?是一個(gè)字符串,表示互聯(lián)網(wǎng)域表示法中的主機(jī)名(如example.com?)或 IPv4 地址(如93.184.216.34),并且 port 是整數(shù)。

3、通過(guò)域名獲取IP地址

import socket
ip = socket.gethostbyname("geek-docs.com")
print(ip)

4、socket

TCP ipv4
import socket
# 創(chuàng)建用于IPV4的TCP套接字
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    # 工作時(shí)間服務(wù)器的主機(jī)名和端口
    host = "time.nist.gov"
    port = 13
    # 連接到遠(yuǎn)程套接字
    s.connect((host, port))
    # 將數(shù)據(jù)發(fā)送到套接字。套接字必須連接到遠(yuǎn)程套接字。從字節(jié)發(fā)送數(shù)據(jù),直到發(fā)送完所有數(shù)據(jù)或發(fā)生錯(cuò)誤為止
    s.sendall(b'')
    print(str(s.recv(4096), 'utf-8'))
# HEAD請(qǐng)求:HEAD 請(qǐng)求是沒(méi)有消息正文的 GET 請(qǐng)求。 請(qǐng)求/響應(yīng)的標(biāo)頭包含元數(shù)據(jù),例如 HTTP 協(xié)議版本或內(nèi)容類型。
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect(("webcode.me", 80))
    s.sendall(b"HEAD / HTTP/1.1\r\nHost: webcode.me\r\nAccept: text/html\r\n\r\n")
    print(str(s.recv(1024), 'utf-8'))
#GET 請(qǐng)求:請(qǐng)求指定資源的表示形式。 使用 GET 的請(qǐng)求應(yīng)僅檢索數(shù)據(jù)
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect(("webcode.me", 80))
    # 對(duì)于 HTTP 1.1 協(xié)議,默認(rèn)情況下,連接可以是持久的。 這就是為什么我們發(fā)送Connection: close標(biāo)頭的原因。
    s.sendall(b"GET / HTTP/1.1\r\nHost: webcode.me\r\nAccept: text/html\r\nConnection: close\r\n\r\n")
    while True:
        data = s.recv(1024)
        if not data:
            break
        print(data.decode())
#回顯客戶端服務(wù)器示例
import socket
import time
with socket.socket() as s:
    host = 'localhost'
    port = 8001
    s.bind((host, port))
    print(f'socket binded to {port}')
    s.listen()
    con, addr = s.accept()
    with con:
        while True:
            data = con.recv(1024)
            if not data:
                break
            con.sendall(data)
#異步服務(wù)器
import asyncio
async def handle_client(reader, writer):
    data = (await reader.read(1024))
    writer.write(data)
    writer.close()
loop = asyncio.get_event_loop()
loop.create_task(asyncio.start_server(handle_client, 'localhost', 8001))
loop.run_forever()

以上就是python套接字創(chuàng)建的詳細(xì)內(nèi)容,更多關(guān)于python套接字的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python操作sqlite3快速、安全插入數(shù)據(jù)(防注入)的實(shí)例

    Python操作sqlite3快速、安全插入數(shù)據(jù)(防注入)的實(shí)例

    這篇文章主要介紹了Python操作sqlite3快速、安全插入數(shù)據(jù)(防注入)的實(shí)例,通過(guò)在一個(gè)表格中進(jìn)行操作來(lái)論述如何使用Python快速安全地操作sqlite3,需要的朋友可以參考下
    2014-04-04
  • OpenCV-Python實(shí)現(xiàn)腐蝕與膨脹的實(shí)例

    OpenCV-Python實(shí)現(xiàn)腐蝕與膨脹的實(shí)例

    形態(tài)學(xué)操作主要包含:腐蝕,膨脹,開運(yùn)算,閉運(yùn)算,形態(tài)學(xué)梯度運(yùn)算,頂帽運(yùn)算,黑帽運(yùn)算等操作,本文主要介紹了腐蝕與膨脹,感興趣的小伙伴們可以參考一下
    2021-06-06
  • python在CMD界面讀取excel所有數(shù)據(jù)的示例

    python在CMD界面讀取excel所有數(shù)據(jù)的示例

    這篇文章主要介紹了python在CMD界面讀取excel所有數(shù)據(jù),幫助大家更好的利用python辦公,感興趣的朋友可以了解下
    2020-09-09
  • 利用Python進(jìn)行異常值分析實(shí)例代碼

    利用Python進(jìn)行異常值分析實(shí)例代碼

    數(shù)據(jù)挖掘工作中的第一步就是異常值檢測(cè),異常值的存在會(huì)影響實(shí)驗(yàn)結(jié)果。下面這篇文章主要給大家介紹了關(guān)于利用Python進(jìn)行異常值分析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-12-12
  • 手把手教你用Django執(zhí)行原生SQL的方法

    手把手教你用Django執(zhí)行原生SQL的方法

    這篇文章主要介紹了手把手教你用Django執(zhí)行原生SQL的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python編碼總結(jié)(編碼類型、格式、轉(zhuǎn)碼)

    python編碼總結(jié)(編碼類型、格式、轉(zhuǎn)碼)

    這篇文章主要介紹了python編碼操作,包括編碼類型、格式、轉(zhuǎn)碼等,并結(jié)合實(shí)例分析了相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2016-07-07
  • Python群發(fā)郵件實(shí)例代碼

    Python群發(fā)郵件實(shí)例代碼

    今天試了試Python發(fā)郵件,突然想到能不能群發(fā)郵件呢?群發(fā)郵件是smtplib的一個(gè)bug,不過(guò)最終還是解決了
    2014-01-01
  • Python使用PymuPDF處理PDF文件的操作詳解

    Python使用PymuPDF處理PDF文件的操作詳解

    Python 中的 PymuPDF 是一個(gè)強(qiáng)大的庫(kù),可以讓你輕松地處理 PDF 文件,本文將深入探討 PymuPDF 的用法,包括打開、讀取、修改和創(chuàng)建 PDF 文件,以及文本提取和頁(yè)面操作,感興趣的朋友可以參考下
    2023-12-12
  • python爬蟲 基于requests模塊的get請(qǐng)求實(shí)現(xiàn)詳解

    python爬蟲 基于requests模塊的get請(qǐng)求實(shí)現(xiàn)詳解

    這篇文章主要介紹了python爬蟲 基于requests模塊的get請(qǐng)求實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python中用append()連接后多出一列Unnamed的解決

    Python中用append()連接后多出一列Unnamed的解決

    Python中用append()連接后多出一列Unnamed的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論