Python--網絡編程-----基於UDP協議的套接字
阿新 • • 發佈:2018-04-16
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 b‘ABC‘ (‘127.0.0.1‘, 8080) 3 >>:
服務端運行結果為:
1 b‘abc‘ (‘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協議的套接字