Python高階語法 網路程式設計 學習心得筆記

2021-09-09 06:37:36 字數 1873 閱讀 2670

每一層都有相應的協議負責交換資訊或者協同工作

tcp/ip 協議 埠

tcp/udp協議

tcp

socket程式設計

import socket

# 模擬伺服器的函式

# 建立乙個伺服器端

def serverfunc():

# 1. 建立socket

# socket.af_inet:使用ipv4協議

# socket.sock_dgram使用udp通訊

sock = socket.socket(socket.af_inet, socket.sock_dgram)

# 2.繫結ip和port

# 127.0.0.1這個ip代表機器自身

# 7852 隨手指定的埠號

# 位址是乙個tuple型別(ip, port)

addr = ('127.0.0.1', 7852)

# 繫結位址和埠

sock.bind(addr)

# 3.接受對方訊息

# 等待方式為死等,沒有其他可能性

# recvfrom接受的返回值是乙個tuple,前一項表示資料,後一項表示位址

# recvfrom引數的含義是緩衝區大小

# rst = sock.recvfrom(500)

data, addr = sock.recvfrom(500)

print(data)

print(type(data))

# 傳送過來的資料時bytes格式,必須通過解碼才能得到格式的內容

# decode解碼函式預設引數是utf8

text = data.decode()

print(text)

print(type(text))

# 4.給對方返回訊息

# 傳送的訊息需要編碼成bytes格式

# encode預設也是utf8

# 注意編碼和解碼要一致

rsp = '我已經收到你的愛了,我也愛你'

data = rsp.encode()

sock.sendto(data, addr)

if __name__ == '__main__':

print("starting server......")

serverfunc()

print("ending server......")

**
import socket

# client端流程

# 1.建立通訊的socket

# 2.傳送內容到指定的伺服器

# 3.接受伺服器給定的反饋內容

def clientfunc():

# 建立連線socket

sock = socket.socket(socket.af_inet, socket.sock_dgram)

# 編碼訊息

text = 'i love you baby'

data = text.encode()

# 傳送訊息到伺服器端

sock.sendto(data, ('127.0.0.1', 7852))

# 接受伺服器的訊息,並對其解碼

data, addr = sock.recvfrom(200)

text = data.decode()

print(text)

if __name__ == '__main__':

clientfunc()

什麼實url(uniform resource locator)

超文字傳輸協議http

特點 http協議的特點及訪問流程-(上網流程**)

網路程式設計 Python高階語法 裝飾器

理論 裝飾器就是執行乙個函式之前首先執行裝飾器函式,python裝飾器就是用於拓展原來函式功能的一種函式,這個函式的特殊之處在於它的返回值也是乙個函式,使用python裝飾器的好處就是在不用更改原函式的 前提下給函式增加新的功能。1 單個裝飾器裝飾乙個函式 通用裝飾器看下面 def verify f...

網路程式設計 Python高階語法 閉包

什麼叫閉包?通俗來說就是函式裡巢狀函式,從表現形式來看,內部函式引用外部函式的作用域裡的變數,那麼內部函式就稱為閉包 舉例說明 1 閉包 函式塊 定義函式時的環境,inner就是函式塊,x就是環境 def outer x definnner y return x y return innner a ...

python高階程式設計 網路程式設計(二)

udp 使用者資料報協議,是乙個無連線的簡單的面向資料報的運輸層協議。udp不提供可靠性,它只是把應用程式傳給ip層的資料報傳送出去,但是並 不能保證它們能到達目的地。udp是一種面向無連線的協議,每個資料報都是乙個獨立的資訊,包括完整 的源位址或目的位址,它在網路上以任何可能的路徑傳往目的地,因此...