チャットなどの python ソケット プログラミングでは、主な目的は他のユーザーからメッセージを受信し続けることです。他のユーザーがキーを押した場合、プログラムは入力を受け取り、受信したメッセージを出力する代わりにそのメッセージを送信する必要があります。送信が終了したら、受信したメッセージを出力する必要があります。ユーザーにメッセージを入力するように明示的に要求せずにこれを行うには?
ありがとう。
チャットなどの python ソケット プログラミングでは、主な目的は他のユーザーからメッセージを受信し続けることです。他のユーザーがキーを押した場合、プログラムは入力を受け取り、受信したメッセージを出力する代わりにそのメッセージを送信する必要があります。送信が終了したら、受信したメッセージを出力する必要があります。ユーザーにメッセージを入力するように明示的に要求せずにこれを行うには?
ありがとう。
あなたの質問を正しく理解できれば、何らかの形のイベント システムを使用したくなるでしょう。テキストの入力とメッセージの受信をイベントとして扱います。
http://en.wikipedia.org/wiki/Event_(コンピューティング)
このようなものはリアルタイム プログラムであるため、プログラムはループで実行されます。ループ全体で、イベントはキューに入れられ、各ループの開始時に、トリガーされた順序で処理されます。
あなたはネットワーキングを扱っているので、ちょっとしたスレッド化が役に立つかもしれません。Global Interpreter Lock のため、Python は実際にはマルチスレッドを使用してパフォーマンスを向上させることはできませんが、バックグラウンドで I/O を実行するのには依然として役立ちます。このように、チャット クライアント (あなたの例を使用するため) が他の人が送信したメッセージを取得しようとしている間、プログラムの残りの部分はフリーズしません。これは、インターネット接続が遅い場合に特に役立ちます。