用python实现 udp网络程序-发送、接收数据(Python经典编程案例)

it2022-05-09  34

1. udp网络程序-发送数据

创建一个基于udp的网络程序,具体步骤如下:

创建客户端套接字发送/接收数据关闭套接字

方式1:

from socket import * # 1. 创建udp套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 2. 准备接收方的地址 # '192.168.1.103'表示目的ip地址 # 8080表示目的端口 dest_addr = ('127.0.0.1', 6666) # 注意 是元组,ip是字符串,端口是数字 # 3. 从键盘获取数据 send_data = input("请输入要发送的数据:") # 4. 发送数据到指定的电脑上的指定程序中 udp_socket.sendto(send_data.encode('gbk'), dest_addr) # 5. 关闭套接字 udp_socket.close()

方式2:

import socket def main(): # 1. 创建udp套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 2. 准备接收方的地址 dest_addr = ('127.0.0.1', 6666) # 注意 是元组,ip是字符串,端口是数字 # 3. 从键盘获取数据 send_data = input("请输入要发送的数据:") # 4. 发送数据到指定的电脑上的指定程序中 udp_socket.sendto(send_data.encode('gbk'), dest_addr) # 5. 关闭套接字 udp_socket.close() if __name__ == "__main__": main()

方式3:可连续发送数据

import socket def main(): # 1. 创建udp套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: # 2.从键盘获取数据 send_data = input("请输入要发送的数据:") # 3. 如果用户输入exit,就退出程序 if send_data == "exit": break # 4. 发送数据到指定的电脑上的指定程序中 udp_socket.sendto(send_data.encode('gbk'), ('127.0.0.1', 6666)) # 5. 关闭套接字 udp_socket.close() if __name__ == "__main__": main()
2. udp网络程序-发送、接收数据
from socket import * # 1. 创建udp套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 2. 准备接收方的地址 dest_addr = ('10.17.16.153', 8888) # 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()

最新回复(0)