成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python大佬養(yǎng)成計劃----socket網(wǎng)絡(luò)編程

phodal / 2712人閱讀

摘要:一個包來了之后,到底是交給瀏覽器還是,就需要端口號來區(qū)分。每個網(wǎng)絡(luò)程序都向操作系統(tǒng)申請唯一的端口號,這樣,兩個進程在兩臺計算機之間建立網(wǎng)絡(luò)連接就需要各自的地址和各自的端口號。

網(wǎng)絡(luò)通信的三要素

IP

通信的時候, 雙方必須知道對方的標(biāo)識, 好比發(fā)郵件必須知道對方的郵件地址。 互聯(lián)網(wǎng)上每個計算機的唯一標(biāo)識就是IP地址, 類似 123.123.123.123 。

IP地址實際上是一個32位整數(shù)(稱為IPv4) , 以字符串表示的IP地址,如 192.168.0.1 實際上是把32位整數(shù)按8位分組后的數(shù)字表示, 目的是便于閱讀。

IPv6地址實際上是一個128位整數(shù), 它是目前使用的IPv4的升級版, 以字符串表示。類似于 2001:0db8:85a3:0042:1000:8a2e:0370:7334 。

端口port

在兩臺計算機通信時, 只發(fā)IP地址是不夠的, 因為同一臺計算機上跑著多個網(wǎng)絡(luò)程序。 一個IP包來了之后, 到底是交給瀏覽器還是QQ, 就需要端口號來區(qū)分。

 每個網(wǎng)絡(luò)程序都向操作系統(tǒng)申請唯一的端口號, 這樣, 兩個進程在兩臺計算機之間建立網(wǎng)絡(luò)連接就需要各自的IP地址和各自的端口號。

TCP/UDP協(xié)議

為了把全世界的所有不同類型的計算機都連接起來, 就必須規(guī)定一套全球通用的協(xié)議,大家把互聯(lián)網(wǎng)的協(xié)議簡稱TCP/IP協(xié)議

socket編程

Socket是網(wǎng)絡(luò)編程的一個抽象概念。 通常我們用一個Socket表示“打開了一個網(wǎng)絡(luò)鏈接”, 而打開一個Socket需要知道目標(biāo)計算機的IP地址和端口號, 再指定協(xié)議類型即可。

import socket
# socket.gethostname()當(dāng)不傳入?yún)?shù)時,返回本機主機名
print(socket.gethostname()) #DESKTOP-EN0LQJH

#域名(英語:Domain Name),簡稱域名、網(wǎng)域,是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱
#通過域名查找服務(wù)器IP地址
print(socket.gethostbyname("www.baidu.com"))    #119.75.216.20

#通過一個IPv4的地址來獲取主機信息
print(socket.gethostbyaddr("114.114.114.114"))

#通過IP/port組合,訪問服務(wù)器信息
# 如果是AF_INET則格式為:(address, port),如果為AF_INET6,則返回(address, port, flow info, scope id)

print(socket.getaddrinfo("www.xunlei.com",80))

用socket實現(xiàn)簡易的web服務(wù)器
import socket
def reply_info(socketObj):
    # socketObj.send("ok")
    with open("hello.html") as f:
        socketObj.send(f.read().encode("utf-8"))
if __name__=="__main__":
    #1. 創(chuàng)建socket對象
    socket_server = socket.socket()
    #2. 綁定IP和端口
    socket_server.bind(("192.168.1.165",9999))
    print("服務(wù)器端已經(jīng)啟動9999端口......")
    #3. 監(jiān)聽是否有客戶端連接
    socket_server.listen(5)

    while True:
        # 4. 接受客戶端的連接
        socket_client,address = socket_server.accept()
        # 5. 接收客戶端發(fā)來的信息
        data = socket_client.recv(1024)
        # 6. 與客戶端進行交互, 返回給客戶端信息
        reply_info(socket_server)
        socket_server.close()

圖過后貼上

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42584.html

相關(guān)文章

  • python大佬養(yǎng)成計劃--協(xié)程實現(xiàn)TCP連接

    摘要:協(xié)程實現(xiàn)連接在網(wǎng)絡(luò)通信中,每個連接都必須創(chuàng)建新線程或進程來處理,否則,單線程在處理連接的過程中,無法接受其他客戶端的連接。所以我們嘗試使用協(xié)程來實現(xiàn)服務(wù)器對多個客戶端的響應(yīng)。 協(xié)程實現(xiàn)TCP連接 在網(wǎng)絡(luò)通信中,每個連接都必須創(chuàng)建新線程(或進程) 來處理,否則,單線程在處理連接的過程中, 無法接受其他客戶端的連接。所以我們嘗試使用協(xié)程來實現(xiàn)服務(wù)器對多個客戶端的響應(yīng)。與單一TCP通信的構(gòu)架...

    fuchenxuan 評論0 收藏0
  • python大佬養(yǎng)成計劃----socket實現(xiàn)TCP通信

    摘要:我們來編寫一個簡單的服務(wù)器程序,它接收客戶端連接,回復(fù)客戶端發(fā)來的請求。如果一切順利,新浪的服務(wù)器接受了我們的連接,一個連接就建立起來的,后面的通信就是發(fā)送網(wǎng)頁內(nèi)容了。 TCP TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。在簡化的計算機網(wǎng)絡(luò)OSI模型中,它完成第四...

    layman 評論0 收藏0
  • python大佬養(yǎng)成計劃----socket實現(xiàn)UDP通信

    摘要:是建立可靠連接,并且通信雙方都可以以流的形式發(fā)送數(shù)據(jù)。相對,則是面向無連接的協(xié)議。測試結(jié)果用兩個命令行分別啟動服務(wù)器和客戶端測試開啟服務(wù)端完成一次通信 UDP TCP是建立可靠連接, 并且通信雙方都可以以流的形式發(fā)送數(shù)據(jù)。 相對TCP, UDP則是面向無連接的協(xié)議。使用UDP協(xié)議時, 不需要建立連接, 只需要知道對方的IP地址和端口號, 就可以直接發(fā)數(shù)據(jù)包。 但是, 能不能到達就不知道...

    Juven 評論0 收藏0
  • python大佬養(yǎng)成計劃----HTML DOM

    摘要:定義了所有元素的對象和屬性,以及訪問它們的方法。換言之,是關(guān)于如何獲取修改添加或刪除元素的標(biāo)準(zhǔn)。根據(jù)標(biāo)準(zhǔn),中所有內(nèi)容都是節(jié)點。好比我有兩個下拉列表,第一列表是選擇省份,那么我選擇某一個省份,那么另一個列表也會對應(yīng)顯示該省份的城市。 什么是DOM? DOM (Document Object Model) 譯為文檔對象模型,是 HTML 和 XML 文檔的編程接口。HTML DOM 定義了...

    leejan97 評論0 收藏0
  • python大佬養(yǎng)成計劃----HTML DOM

    摘要:定義了所有元素的對象和屬性,以及訪問它們的方法。換言之,是關(guān)于如何獲取修改添加或刪除元素的標(biāo)準(zhǔn)。根據(jù)標(biāo)準(zhǔn),中所有內(nèi)容都是節(jié)點。好比我有兩個下拉列表,第一列表是選擇省份,那么我選擇某一個省份,那么另一個列表也會對應(yīng)顯示該省份的城市。 什么是DOM? DOM (Document Object Model) 譯為文檔對象模型,是 HTML 和 XML 文檔的編程接口。HTML DOM 定義了...

    cc17 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<