2010-05-10 42 views
3

我正在做一个批处理脚本来连接到一个tcp服务器,然后退出。 我的问题是,我不能停止反应器,例如:扭曲的电抗器停止太早

​​

在这段代码反应堆之前停止该TCP连接完成和CMD传递。

如何在所有操作完成后停止反应堆?

回答

5

简单的解决办法是在检测到退出条件时,在代码中调用reactor.stop()。具体来说,看起来你想在CommandClient中的某处调用它,假设它将你的命令发送到远程机器并接收到命令的退出代码。

如书面所示,反应堆将启动并立即执行d.callback,然后调用reactor.stop()。您的程序逻辑与reactor.stop()的呼叫之间没有关系。将呼叫转移到您的程序的核心逻辑中,您应该设置。具体来说,我会将您的CommandClient协议的方法看作检测您的“即将完成”条件的可能候选方法。