调用方法而不期待响应

时间:2017-06-07 15:57:54

标签: python

我尝试创建一个服务器端应用程序来监听连接,并根据客户端的说法调用方法。但是,当我调用方法上传时,我想继续在main下执行代码。

无论如何我能做到这一点,还是我采取了不正确的方法?代码如下;

def main(ipAddr, tcpPort, bufferSize, s):
    try:
        s.bind((ipAddr, tcpPort))
        s.listen(4)
        conn, addr = s.accept()

    print("Connection attempt from: %s" % addr)
    messageRecv = ""
    while True:
        data = conn.recv(bufferSize)
        if not data: break
        messageRecv = data.decode('utf-8')
finally:
    conn.close()
    if messageRecv == "Ready": upload(addr)

main(ipAddr, tcpPort, bufferSize, s)



def upload(addr):
    pass

1 个答案:

答案 0 :(得分:1)

考虑使用multiprocessing模块,它本质上是Python的“多线程”包。该API与threading模块非常相似,但由于GILthreading可能会过高。

在您的情况下,您可能会遇到以下情况:

p = Process(target=upload, args=(addr,))
p.start()
# some other code
p.join()