python聊天客户端库

时间:2009-11-03 23:05:02

标签: python multithreading chat

我正在尝试编写一个Python库,它将实现某个聊天协议的客户端。

连接到服务器后,
我启动主循环,我从服务器读取并处理收到的命令,在这里我需要调用回调函数(如on_messageon file_received等)。

我应该如何实施呢? 应该为每个回调函数启动一个新线程吗?也许一些回调需要一些时间才能返回,我会暂停 此外,
如果我从服务器读取的主循环在一个线程中,我可以从另一个线程写入套接字(向服务器发送消息)吗? 还是有更好的方法? 感谢。

3 个答案:

答案 0 :(得分:6)

对于执行此操作的python应用程序,我不会使用线程。我会使用像Twisted这样的框架。

文档有例子; here's a chat example

答案 1 :(得分:2)

我会使用选择模块,或者交替扭曲,但是选择更便携一点,而且在我看来有点更加pythonic。

答案 2 :(得分:1)

线程只是一个不必要的复杂问题,如果您不熟悉如何正确使用它们,将导致模糊的错误。但是,asyncoreasynchat是指向同一目标的简单路线。