# -*- coding: utf-8 -*- """ Created on Thu Nov 12 15:02:53 2020 @author: Administrator 参考网址:https://www.pianshen.com/article/1060421464/ https://blog.csdn.net/qq_40483425/article/details/105475678 """ import socket import threading import time def recv_msg(udp_socket): """接收""" while True: recv_data = udp_socket.recvfrom(1024) print("%s 发送 %s" % (str(recv_data[1]), recv_data[0].decode("gbk"))) def send_msg(udp_socket, dest_ip, dest_port): """发送""" while True: send_data = "haha" udp_socket.sendto(send_data.encode("gbk"), (dest_ip, dest_port)) time.sleep(1) def main(): # 创建套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定本地信息 udp_socket.bind(("", 7890)) # 获取对方信息 dest_ip = "192.168.43.216" dest_port = 1234 # 创建两个线程去执行函数 t1 = threading.Thread(target=recv_msg, args=(udp_socket, )) t2 = threading.Thread(target=send_msg, args=(udp_socket, dest_ip, dest_port)) t1.start() t2.start() #要有下面的join,否则会运行不完一个线程,就会跳到另一个线程. t1.join() t2.join() if __name__ == ‘__main__‘: main()
上面这个程序是可以运行的,下面是运行效果
原文:https://www.cnblogs.com/chulin/p/14203355.html