1. 程式人生 > >udp網絡程序-發送、接收數據

udp網絡程序-發送、接收數據

腳本 -c 目的 clas 就業班 code ubun sock send

1. udp網絡程序-發送數據

創建一個基於udp的網絡程序流程很簡單,具體步驟如下:

  1. 創建客戶端套接字
  2. 發送/接收數據
  3. 關閉套接字

技術分享圖片

代碼如下:

#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網絡程序-發送、接收數據