udp網絡程序-發送、接收數據
阿新 • • 發佈:2019-03-01
腳本 -c 目的 clas 就業班 code ubun sock send
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腳本:
網絡調試助手截圖:
udp網絡程序-發送、接收數據