1、下载网络试调助手:NetAssist
NetAssist,用于接受或者发送数据,与Python进行通信

2、UDP发送数据程序代码
import socket
def main():
#1、创建一个udp套接字
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#从键盘获取数据
send_data=input("请输入发送内容:")
#使用套接字收发数据
udp_socket.sendto(send_data.encode("utf-8"),("127.0.0.1",8888))
#5、关闭套接字
udp_socket.close()
if __name__=="__main__":
main()
send_data是从键盘接受的收据,必须是二进制的,如果只是单纯的数据变量的话,那就必须用
udp_socket.sendto(b"需要发送的内容",("127.0.0.1",8888))

如果要重复接收发送数据,那么就要用判断循环语句
import socket
def main():
#1、创建一个udp套接字
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
while True:
#从键盘获取数据
send_data=input("请输入chongfu发送内容:")
#判断结束
if send_data=="exit":
break
#使用套接字收发数据
udp_socket.sendto(send_data.encode("GB2312"),("127.0.0.1",8888))
#5、关闭套接字
udp_socket.close()
if __name__=="__main__":
main()
3、UDP接收数据
from socket import *
def main():
#1、创建一个udp套接字
udp_socket=socket(AF_INET,SOCK_DGRAM)
#2、绑定本地相关信息,如果不绑定,则随机分配
local_addr=('',7788)#ip地址和端口号,IP不写表示本机任何一个ip
udp_socket.bind(local_addr)
#3、等待接收对方发送的数据
recv_data=udp_socket.recvfrom(1024)#1024表示本次接收的最大字节
#recv_data存储的是一个元组(发送方ip,Port)
recv_msg=recv_data[0]
send_addr=recv_data[1]
#4、显示接收到的数据
print("%s:%s"% (str(send_addr),recv_msg.decode("gbk")))
udp_socket.close()
if __name__=="__main__":
main()
测试结果

4、UDP案例

# -*- coding: utf-8 -*-
import socket
def send_msg(udp_socket):
#获取要发送的内容
dest_ip=input("输入对方IP:")
dest_port=int(input("输入对方port:"))
send_data=input("输入发送内容:")
udp_socket.sendto(send_data.encode("gbk"),(dest_ip,dest_port))
def recv_msg(udp_socket):
#接收数据
recv_data=udp_socket.recvfrom(1024)
print("%s:%s" % (str(recv_data[1]),recv_data[0].decode("gbk")))
def main():
#创建套接字
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#绑定信息
udp_socket.bind(("",7788))
#循环处理
while True:
print("---------聊天室----------")
print("1:发送消息")
print("2:接收消息")
print("0:退出系统")
op=input("请输入功能:")
if op=="1":
#发送
send_msg(udp_socket)
elif op=="2":
#接收并显示
recv_msg(udp_socket)
elif op=="0":
break
else:
print("输入有误!")
if __name__=="__main__":
main()
本文介绍了如何使用Python进行UDP通信,包括创建UDP套接字、发送和接收数据的步骤。提供了发送数据、循环发送数据以及接收数据的代码示例,展示了如何通过键盘输入或循环操作实现数据交互。
3万+

被折叠的 条评论
为什么被折叠?



