(新手)python的多线程udp使用(简陋的自由聊天器)

udp可以通过多线程来实现两机之间的 ‘’类似’‘ qq一样 ‘’自由‘’ 聊天功能,不再是死板的要么只接收数据,要么只发送数据。

import socket    #引入套接字
import threading    #引入并行

def udp_send(udp_socket):

    while True:
        num1 = '192.168.232.1'
        num2 = 8081
        send_data = input('请输入要发送的数据:')
        send_data = send_data.encode('utf-8')
        udp_socket.sendto(send_data,(num1,num2))  #sendto(发送数据,发送地址)

def udp_recv(udp_socket):
    while True:
        recv_data = udp_socket.recv(1024)
        recv_data = recv_data.decode('utf-8')
        print('收到信息为:%s'%recv_data)

def main():
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)   #创建套接字
    ip = '192.168.232.1'                                           #服务器ip和端口
    port = 8080
    udp_socket.bind((ip,port))                                   #服务器绑定ip和端口
    #发送数据
    t=threading.Thread(target=udp_send,args=(udp_socket,))     # Thread函数用于并行
    #接收数据
    t1=threading.Thread(target=udp_recv,args=(udp_socket,))
    t.start()                                                 #并行开始
    t1.start()

if __name__ == '__main__':
    main()

猜你喜欢

转载自blog.csdn.net/sui_yi123/article/details/81748284