我正在尝试编写一个Python库,它将实现某个聊天协议的客户端。
连接到服务器后,
我启动主循环,我从服务器读取并处理收到的命令,在这里我需要调用回调函数(如on_message
或on file_received
等)。
我应该如何实施呢?
应该为每个回调函数启动一个新线程吗?也许一些回调需要一些时间才能返回,我会暂停
此外,
如果我从服务器读取的主循环在一个线程中,我可以从另一个线程写入套接字(向服务器发送消息)吗?
还是有更好的方法?
感谢。
答案 0 :(得分:6)
对于执行此操作的python应用程序,我不会使用线程。我会使用像Twisted这样的框架。
文档有例子; here's a chat example
答案 1 :(得分:2)
我会使用选择模块,或者交替扭曲,但是选择更便携一点,而且在我看来有点更加pythonic。
答案 2 :(得分:1)