TCP を使用してファイルを転送する Python アプリケーションを開発しており、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 とソケット プログラミングにまったく慣れていないので、スレッド化コードで間違いを犯した可能性があります。誰かがこの問題で私を助けることができますか? 前もって感謝します!