import socket
# socket.af_inet (ipv4)
# socket.sock_stream (tcp)
# socket.sock_dgram (udp)
s = socket.socket(socket.af_inet, socket.sock_dgram)
# 監聽 ip:port
host_name = socket.gethostname(
)host = socket.gethostbyname(host_name)
print
(host)
s.bind(
(host,
8008))
# 迴圈 每次有新的連線觸發
while
true
:# 無連線
# tcp 需要連線、獲取乙個可讀寫的 "流"
# udp 無連線、直接接受資料報
# 請求處理
# data 當前資料報
# addr 當前連線ip:port
data, addr = s.recvfrom(
1024
)# 響應處理
s.sendto(data, addr)
# udp 的用法和 tcp 類似,只是 udp 是 無連線的,比 tcp 省略了乙個步驟。
import socket
host_name = socket.gethostname(
)host = socket.gethostbyname(host_name)
s = socket.socket(socket.af_inet, socket.sock_dgram)
# 無連線
# 請求 | 傳送資料到服務端
s.sendto(b'hello'
,(host,
8008))
# 響應 | 接受服務端返回到資料
data = s.recv(
1024
).decode(
'utf-8'
)print
(data)
# hello
# 關閉 socket
s.close(
)
五 網路程式設計 UDP 不黏包)
一 udp不黏包 會丟包 1.不黏包 丟包 udp user datagram protocol,使用者資料報協議 是無連線的,面向訊息的,提供高效率服務。不會使用塊的合併優化演算法,由於udp支援的是一對多的模式,所以接收端的skbuff 套接字緩衝區 採用了鏈式結構來記錄每乙個到達的udp包,在...
作業13 網路
2.1 簡述你想為你的系統增加什麼網路功能?設計思路是什麼?2.2 系統通過網路傳遞了什麼資訊?資訊的格式是什麼?2.3 你的網路模組使用了tcp還是udp技術?模組中的常用類是什麼?threadedechoserver類 3.1 統計本週完成的 量 周次總 量 新增 量 總檔案數 新增檔案數10 ...
Note1 網路程式設計概述,UDP程式設計
一,什麼是網路程式設計?所謂的網路程式設計就是,讓在不同的電腦上的軟體能夠進行資料傳遞,即程序之間的通訊 二,tcp ip協議簡介 為了把全世界的所有不同型別的計算機都連線起來,就必須規定一套全球通用的協議,為了實現網際網路這個目標,網際網路協議簇 internetprotocolsuite 就是通...