【发布时间】:2012-06-05 15:31:56
【问题描述】:
“为什么我用 transport.write 发送的数据需要很长时间才能到达连接的另一端?”
只有在你放弃对反应器的执行控制后,Twisted 才能发送数据。例如,如果您有一个无限循环将数据写入传输器,则数据将永远不会真正发送,因为控制权永远不会离开您的代码并返回到反应器。”
我在扭曲的常见问题解答中找到了这个,这正是我的问题。有没有办法解决这个问题,以便我可以立即发送消息而无需等待循环完成?
【问题讨论】:
-
确实没有一种简单的方法来刷新传出的 Twisted 缓冲区,您应该保持轻量级执行。
-
但我的机器人需要它。我需要用命令写 10 行(每 2 秒 1 行)。这是不可能的,因为twisted 只是在一秒钟内写完所有的行并且它会产生过多的洪水。
-
用
\n一次写5行 -
用 \n 一次 5 行是什么意思?
-
我真的修好了,好像有一个 lineRate 可以设置。有用。 :) 无论如何谢谢大家