【发布时间】:2013-12-26 17:04:25
【问题描述】:
我在尝试构建聊天客户端时遇到问题。我刚开始,这是我的代码:
import socket
my_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
my_socket.connect(("10.10.10.69",1234))
while True:
message=raw_input("your message: ")
if(message=="quit"):
my_socket.close()
break
my_socket.send(message)
data=my_socket.recv(1024)
print "message from server:" , data
问题是raw_input。当一个用户发送消息时,其他用户被堆叠在raw_input 上,因此只有当他们也发送消息时,他们才会收到新消息。
我怎样才能修复它(不使用线程)?
【问题讨论】:
-
您使用哪种操作系统?在 Unix 中,您可以使用
select.select。在 Windows 中,您应该使用线程。现在你有另一个问题:如果你在输入过程中收到消息,你的输入就会混乱。 -
我正在使用 Ubuntu。其他问题我稍后会解决
标签: python sockets chat raw-input