UDP程式設計

2021-09-11 04:13:40 字數 1451 閱讀 6147

通訊流程

客戶端實現

from socket import *

sc = socket(af_inet, sock_dgram)

addr = ('127.0.0.1', 8989)

while true:

datastr = input("輸入傳送內容")

if datastr.__eq__("exit"):

break

dataencode = datastr.encode(encoding="utf-8")

sc.sendto(dataencode, addr)

receivecode, saddr = sc.recvfrom(1024)

receivedata = receivecode.decode(encoding="utf-8")

print(receivedata, saddr)

sc.close()

print("finish")

服務端實現

from socket import *

ss = socket(af_inet, sock_dgram)

saddr = ('127.0.0.1', 8989)

ss.bind(saddr)

while true:

dataencode, caddr = ss.recvfrom(1024)

datastr = dataencode.decode(encoding="utf-8")

print(datastr)

str = input("輸入傳送內容")

if str.__eq__("exit"):

break

strcode = str.encode(encoding="utf-8")

ss.sendto(strcode, caddr)

ss.close()

print("finish")

udp通訊過程

udp總結

udp是tcp/ip協議族中的各種協議能夠完成不同機器上的程式間的資料通訊

udp伺服器、客戶端

udp的伺服器和客戶端的區分:往往是通過請求服務和提供服務來進行區分

請求服務的電腦稱為:客戶端

提供服務的電腦稱為:伺服器

udp繫結問題

一般情況下,伺服器端,需要繫結埠,目的是為了讓其他的客戶端能夠正確傳送到此程序

客戶端,一般不需要繫結,目的是讓作業系統隨機分配,這樣就不會因為需要繫結的埠被占用導致程式用法運用的情況

UDP程式設計

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...

UDP程式設計

通常使用 點分十進位制 字串表示ip位址,用3個 劃分成四個區。每個區的表示範圍為0 255 埠號具有2個位元組16個位元位的整數 ip是將資料從a主機交付給b主機 埠號用來標識乙個程序,乙個埠號只能被乙個程序占用 ip位址 埠號 套接字,可以進行資料層面的來往,本質上就是程序間的通訊 每乙個程序都...

UDP程式設計

udp程式設計依靠的協議是udp協議,這種程式設計方式是不可靠的資訊傳輸方式,比如通話這類,是允許資訊丟失的。udp採用報文的方式收發資訊而不採用流的方式,每次傳送的報文大小也是有限制的,不能超過64k。固定的 結構 接收方 public class receiver catch socketexc...