接上篇
前面我們實現了tcp的網路小應用,這節課我們來做乙個基於udp的網路小應用。tcp與udp什麼區別不需要我說了吧?udp服務端不需要tcp服務端那麼多的設定,因為它們不是面向連線的,除了等待傳入的連線之外,幾乎不需要做其它操作。
下面直接看著例項來學習:(其它地方與tcp相同,我們只看不同的)
服務端
from socket import *
from time import ctime
host=""
port=32323
#這裡我換了乙個埠,因為tcp那個肯定是不能用的
bufsiz=1024
addr=(host,port)
udpsersock=socket(af_inet,sock_dgram)#第二個引數注意一下,這個是建立udp套接字的引數
udpsersock.bind(addr)
#因為是無連線,所以我們不需要去監聽
while true:#一旦執行到了這裡,就說明我們的服務端已經開啟,開始被動接受訊息了
print("waittingformessage...")
data,addr=udpsersock.recvfrom(bufsiz)
udpsersock.sendto(("[%s]%s"
%(ctime(),data)).encode(),addr)#當有訊息到了的時候,繼續返回
print("receivedfromandreturnedto:",addr)
客戶端
from socket import *
host="localhost"
port=32323
#這裡要跟我們的服務端一直
bufsiz=1024
addr=(host,port)
udpclisock=socket(af_inet,sock_dgram)
#這裡沒有了連線那個步驟,因為udp是無連線的。
while
true:
data=input("請輸入:")
ifnot data:
break
udpclisock.sendto(data.encode(),addr)
data,addr=udpclisock.recvfrom(bufsiz)
ifnot data:
break
print(data.decode("utf-8"))
udpclisock.close()
基於TCP和UDP的Socket網路應用程式
基於tcp和udp的socket網路應用程式 計算機網路課設 一 需求分析 利用socket編寫乙個簡單的網路應用程式,獲取伺服器當前的時間和日期。說明與要求 1 對客戶與伺服器之間使用的協議進行設計。2 分別採用流式套接字和資料報套接字進行實現。二 程式設計 2.1 基於tcp協議的流程 編寫用t...
網路udp通訊實現步驟及應用
udp 是user datagram protocol的簡稱,中文名是使用者資料報協議。一種無連線的傳輸層協議,提供面向事務的簡單不可靠資訊傳送服務。類似於日常生活中寫信的場景,不需要建立鏈結,不關心傳送結果。1 建立套接字 udp socket socket.socket socket.af in...
UDP網路程式設計
基於udp 伺服器 程式步驟 1.建立乙個socket,用socket 函式 2.繫結ip位址 埠等資訊到socket上,用函式bind 3.迴圈接收資料,用recvfrom 4.關閉網路連線。基於udp 客戶端 程式步驟 1.建立乙個socket,用socket 函式 2.繫結ip位址 埠等資訊到...