一根线不';不要从python开始
我正在用Python创建一个服务器/客户机,而且我对线程非常陌生,所以我可能会误解一些东西。在我的客户机类中,我有不同的线程用于不同的任务,例如:一个线程用于处理监听包,另一个线程用于向服务器发送自动递增消息 现在我想创建一个函数,在这里我还可以输入自己的消息并将它们发送到服务器。然而,这条线索甚至还没有开始,我不确定我做错了什么。所有其他线程都工作正常 职能:一根线不';不要从python开始,python,multithreading,sockets,input,Python,Multithreading,Sockets,Input,我正在用Python创建一个服务器/客户机,而且我对线程非常陌生,所以我可能会误解一些东西。在我的客户机类中,我有不同的线程用于不同的任务,例如:一个线程用于处理监听包,另一个线程用于向服务器发送自动递增消息 现在我想创建一个函数,在这里我还可以输入自己的消息并将它们发送到服务器。然而,这条线索甚至还没有开始,我不确定我做错了什么。所有其他线程都工作正常 职能: def send_user_input(): 打印('用户输入线程正在运行') 尽管如此: 全局消息计数器 message=input
def send_user_input():
打印('用户输入线程正在运行')
尽管如此:
全局消息计数器
message=input('在消息中键入:')
msg_计数器+=1
sendedmessage=message+'#'+str(消息计数器)
打印('发送:'+发送消息)
sock.sendto(sendeMessage.encode('utf-8'),服务器地址)
线程开始:
# Threads to start
thread = Thread(target=package_listener)
thread.start()
thread3 = Thread(target=send_packages())
thread3.start()
thread4 = Thread(target=send_user_input())
thread4.start()
您被称为
send_packages()
而不是传递函数send_packages
的引用。你好,我不确定您的意思,我尝试启动的函数是def send_user_input():您应该将函数传递给“Thread”,它将调用它。您正在传递调用函数的结果,而不是实际函数。您被调用的send_packages()
而不是传递对函数的引用send_packages
Hallo Peter,我不确定您的意思,我尝试启动的函数是def send_user_input():您应该将函数传递给“线程”,它将调用该函数。您传递的是调用函数的结果,而不是实际函数。