Udp接收和发送的多线程进行(新手)

以多线程来接收和发送数据(udp)

思路:建立三个函数,一个是发送函数,另一个是接收函数,还有一个主函数,调用前面两个函数,实现功能。在mNetAssist软件下调试。
结果:与非多线程似乎没有什么区别,看了一下思路,没什么错误,等明天再继续看看程序。程序在下面:

import socket
import threading
def send_udp(udp_socket):#
    num=input('请输入发送的数据:')

    num_ip=input('请输入接收端的ip地址')

    num_port=int(input('请输入接收端的端口:'))

    udp_socket.sendto(num.encode('utf-8'),(num_ip,num_port))

def recve_udp(udp_socket):
    recv_msg = udp_socket.recvfrom(1024)

    num1_ip_port=recv_msg[1]
    num2_data=recv_msg[0].decode('utf-8')

    print('接收到的数据为;%s 发送的来源为%s'%(num2_data,num1_ip_port))
def main():
    udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    udp_socket.bind(('', 7890))
    num1=threading.Thread(target=send_udp,args=(udp_socket,))
    num2=threading.Thread(target=recve_udp,args=(udp_socket,))

    num1.start()
    num2.start()
if __name __ == '__main__':
    main()

你可能感兴趣的:(Udp接收和发送的多线程进行(新手))