python 實現 TCP、UDP 客戶端最簡流程

Galois發表於2020-07-18

TCP 客戶端

import socket

target_host = 'www.google.com'
target_port= 80

# 建立一個 socket 物件(引數 AF_INET 表示標準 IPv4 地址或主機名,SOCK_STREAM 表示 TCP 客戶端)
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 將客戶端連線到伺服器
client.connect((target_host, target_port))

# 向伺服器傳送資料
client.send("GET / HTTP/1.1\r\nHost: google.com\r\n\r\n")

# 接收返回的資料
response = client.recv(4096)

# 列印返回資料
print(response)

UDP 客戶端

import socket

target_host = '127.0.0.1'
target_port= 80

# 建立一個 socket 物件(引數 SOCK_DGRAM 表示 UDP 客戶端)
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 向伺服器傳送資料
client.sendto("AAABBBCCC", (target_host, target_port))

# 接收返回的資料
data, addr = client.recvfrom(4096)

# 列印返回資料
print(data)

因為 UDP 是一個無連線狀態的傳輸協議,所以不需要在此之前呼叫 connect() 函式

本作品採用《CC 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章