【发布时间】:2012-07-06 09:27:25
【问题描述】:
我正在尝试制作一个控制台聊天程序,但我的循环有问题。我无法同时获得输入并接收其他人的输入。如果从一端发送了两条或更多条消息,则另一端在发送一条消息之前无法接收下一条消息。我对 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()
【问题讨论】:
标签: python linux sockets loops chat