網路程式設計 socket 套接字之基於udp的套接字

2022-08-27 04:27:11 字數 1276 閱讀 6199

基於udp的網路程式設計

又稱資料報協議,一次傳送對應一次接收,不會產生粘包問題

不可靠傳輸,傳送資料不需要回覆ack確認資訊

沒有鏈結,服務端或者客戶端的啟動不需要先後順序

udp服務端的套接字

1 ss = socket()   #

建立乙個伺服器的套接字

2 ss.bind() #

繫結伺服器套接字

3 inf_loop: #

伺服器無限迴圈

4 cs = ss.recvfrom()/ss.sendto() #

對話(接收與傳送)

5 ss.close()

udp客戶端的套接字

cs = socket()   #

建立客戶套接字

comm_loop: #

通訊迴圈

cs.sendto()/cs.recvfrom() #

對話(傳送/接收)

cs.close() #

關閉客戶套接字

示例**

基於udp協議通訊的套接字

import

socket

server =socket.socket(socket.af_inet,socket.soxk_dgram)

server.bind((

'127.0.0.1

',8080))

while

true:

client_data,client_addr=server.recvfrom(1024)

server.sendto(client_data.upper(),client_addr)

服務端

import

socket

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

while

true:

msg = input(': '

).strip()

client.sendto(msg.encode(

'utf-8

'),('

127.0.0.1

',8080))

res,server_addr = client.recvfrom(1024)

客戶端常用埠:   web埠 80

dns埠 53

dhcp埠 67

網路程式設計 Socket 套接字

網路程式設計 目前較為流行的網路程式設計模型是客戶機 伺服器 c s 結構。即通訊雙方一方作為服務 器等待客戶提出請求並予以響應。客戶則在需要服務時向伺服器提出申請。伺服器一般作為 守護程序始終執行,監聽網路埠,一旦有客戶請求,就會啟動乙個服務程序來響應該客 戶,同時自己繼續監聽服務埠,使後來的客戶...

網路程式設計socket套接字

socket 建立乙個socket,主動套介面。bind 繫結ip和埠號到socket,需先配置ip 埠號。connect 客戶機 client 端和伺服器傳送請求建立連線。listen 伺服器 serv 監聽client傳送的請求。accept 完成連線,阻塞響應。sendto 傳送資料 recv...

網路程式設計 Socket套接字

網路程式設計 目前較為流行的網路程式設計模型是客戶機 伺服器結構。即通訊雙方一方作為伺服器等待客戶提出請求並予以響應,客戶則在需要服務時提出申請。伺服器一般作為守護程序始終執行,監聽網路埠,一旦由客戶請求,就會啟動乙個服務程序來響應該客戶,同時自己監聽服務埠,使後來的客戶也能及時的得到服務。在int...