1. udp網絡程序-發送數據
創建一個基於udp的網絡程序流程很簡單,具體步驟如下:
- 創建客戶端套接字
- 發送/接收數據
- 關閉套接字
代碼如下:
#coding=utf-8 from socket import * # 1. 創建udp套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 2. 准備接收方的地址 # '192.168.1.103'表示目的ip地址 # 8080表示目的端口 dest_addr = ('192.168.1.103', 8080) # 注意 是元組,ip是字符串,端口是數字 # 3. 從鍵盤獲取數據 send_data = input("請輸入要發送的數據:") # 4. 發送數據到指定的電腦上的指定程序中 udp_socket.sendto(send_data.encode('utf-8'), dest_addr) # 5. 關閉套接字 udp_socket.close()
運行現象:
在Ubuntu中運行腳本:
在windows中運行“網絡調試助手”:
2. udp網絡程序-發送、接收數據
#coding=utf-8 from socket import * # 1. 創建udp套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 2. 准備接收方的地址 dest_addr = ('192.168.236.129', 8080) # 3. 從鍵盤獲取數據 send_data = input("請輸入要發送的數據:") # 4. 發送數據到指定的電腦上 udp_socket.sendto(send_data.encode('utf-8'), dest_addr) # 5. 等待接收對方發送的數據 recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字節數 # 6. 顯示對方發送的數據 # 接收到的數據recv_data是一個元組 # 第1個元素是對方發送的數據 # 第2個元素是對方的ip和端口 print(recv_data[0].decode('gbk')) print(recv_data[1]) # 7. 關閉套接字 udp_socket.close()
python腳本:
網絡調試助手截圖: