我正在用Python制作一个cmd IRC客户端。我希望在我可以写消息的同时接收数据,在我之前的代码中,我只能编写2条消息,然后它就会出现错误,直到它收到某种数据才能写入。
问题是,我可以让一个cmd窗口运行接收到的数据,还有一个带有常量输入的窗口等待我写一些要发送的东西?可能有线程? 我查看了子进程库,但我真的不知道如何编写它。
CMD1:
while Connected:
print socket.recv(1024)
CMD2:
while Connected:
text = raw_input("Text to send>> ")
socket.send(text)
(这是伪代码而不是真实代码)
答案 0 :(得分:1)
您提出的这种方法可以通过创建像应用程序这样的服务器,以及通过localhost连接发送和接收事件的2个客户端应用程序来完成。这样你可以打开2个终端,连接到服务器的同一个会话。
另一方面,你应该考虑一种不同的设计方法,包括ncurses,它允许你在同一个终端(上下两个部分)输入和输出终端ui。您可以参考:http://gnosis.cx/publish/programming/charming_python_6.html