我正在开发一个 Python 应用程序来使用 TCP 传输文件,并且是 Python 语言的新手。我已经编写了客户端代码和服务器端代码,如果我单独运行它们,它就可以工作。不幸的是,我需要将它们全部放在同一个文件中,即。main.py,它将运行服务器端代码和客户端代码。例如,每个网络节点都应该同时充当服务器和客户端。因此,我需要它不断监听来自其他节点的新请求(因此需要运行服务器端代码),同时将新请求发送到充当服务器的其他节点(所以在这种情况下,它充当一个客户)。我曾想过使用线程,但一直卡在服务器端代码的线程上。
这是我处理线程的 main.py 代码示例。
if __name__ == '__main__':
serverThread_stop = Event()
serverThread = Thread(target = TCPServer, args = (1111,'test.txt'))
serverThread.start()
serverThread.join()
clientThread_stop = Event()
clientThread = Thread(target = TCPClient, args = ('127.0.0.1',1111,'test.txt'))
clientThread.start()
clientThread.join()
clientThread_stop.set()
serverThread_stop.set()
由于我对 Python 和套接字编程很陌生,所以我可能在线程代码方面犯了一些错误。有人可以帮我解决这个问题吗?提前致谢!