求助,主线程开启副线程的问题
程序代码:
from socket import * import os,sys from multiprocessing import Process """ UDP客户端 协议: L:登陆 C:聊天 Q:退出 """ ADDR = ('127.0.0.1',8888) s = socket(AF_INET,SOCK_DGRAM) def main(): while True: name = input('请输入姓名>>') msg = 'L ' + name # 发送信息 s.sendto(msg.encode(),ADDR) # 接收信息 data,addr = s.recvfrom(128) print('收到信息:',data.decode()) if data.decode() == 'OK': print('你已经入进聊天室',) # 下面如何开启副线程能进入到收消息函数,且不影响主线程下面的发消息 p1 = Process(target=to_recv,name='收消息',args=(name,)) # 监听收消息 p1.start() print(p1.name,p1.pid) to_send(name) #to_recv(name) return else: print(data.decode()) def to_recv(name): #收消息 while True: data,addr = s.recvfrom(128) tmp = data.decode().split(' `') print(tmp[1]) def to_send(name): # 发消息 while True: msg = input(name+"[q退出]>>") if msg == 'q': msg = 'Q '+name s.sendto(msg.encode(),ADDR) sys.exit() else: msg = 'C '+name+' '+ msg s.sendto(msg.encode(),ADDR) main()
请问,在上面进入聊天室后,如何能开启副线程去到收信息的函数里,下面发信息是主线程要运行的
[此贴子已经被作者于2023-4-14 23:43编辑过]