コンソール チャット プログラムを作成しようとしていますが、ループに問題があります。入力を取得し、同時に他の人の入力を受け取ることはできません。一方の端から 2 つ以上のメッセージが送信された場合、もう一方の端は次のメッセージを送信するまで次のメッセージを受信できません。私はPythonにかなり慣れていないので、正しい方向へのナッジを探していました。私はマルチスレッド化を考えましたが、それは私の理解力から少し外れています. 他のアイデアはありますか?
import EncMod
from socket import *
#Get User Info
Ip = raw_input('IP>>>')
Port = int(raw_input('Port>>>'))
User = raw_input('Username>>>')
#Open Socket To Server
EncCon = socket(AF_INET, SOCK_STREAM)
EncCon.connect((Ip, Port))
print '\nStarting Chat....'
print '\n<-------------------------------------------->\n\n'
#Send/Receive Loop
while 1:
MsgOut = raw_input()
if MsgOut: EncCon.send(MsgOut)
MsgIn = EncCon.recv(1024)
if MsgIn: print MsgIn
EncCon.close()