1. 程式人生 > >Python--網絡編程-----基於UDP協議的套接字

Python--網絡編程-----基於UDP協議的套接字

data soc nbsp net 服務 int ddr bind 客戶

服務端:

 1 from socket import *
 2 
 3 server = socket(AF_INET, SOCK_DGRAM)
 4 server.bind((127.0.0.1, 8080))
 5 
 6 while True:
 7     data, client_addr = server.recvfrom(1024)
 8     print(data, client_addr)
 9 
10     server.sendto(data.upper(), client_addr)
11 
12 server.close()

客戶端:

 1 from socket import
* 2 3 client = socket(AF_INET, SOCK_DGRAM) 4 5 while True: 6 msg = input(">>:").strip() 7 client.sendto(msg.encode(utf-8), (127.0.0.1, 8080)) 8 9 data, server_addr = client.recvfrom(1024) 10 print(data, server_addr) 11 12 client.close()

先啟動服務端,再啟動客戶端,在客戶端輸入小寫字母abc,

客戶端運行結果為:

1 >>:abc
2 bABC (127.0.0.1, 8080)
3 >>:

服務端運行結果為:

1 babc (127.0.0.1, 55255)

這就實現了基於udp協議的簡單套接字程序

基於udp協議的套接字能夠發空:

在客戶端輸入空,

客戶端運行結果為:

1 >>:
2 b‘‘ (127.0.0.1, 8080)
3 >>:
4 b‘‘ (127.0.0.1, 8080)
5 >>:

udp就算發送數據為空,但是udp是數據報協議,數據報中還包含有ip端口信息,所以說數據報不為空

Python--網絡編程-----基於UDP協議的套接字