试图让一个简单的 python 扭曲客户端 - 服务器应用程序工作。目的是用它来控制一些 IRC 机器人;就像一个主控制台向所有(5ish)机器人发出命令。
附加的代码有一天会形成服务器代码。目前,我正在使用 telnet 来模拟 IRC 机器人(客户端)连接到“party line”。
我坚持的是,我如何从附加的服务器应用程序 sendLine 到所有机器人?每次我创建一个循环来获取 raw_input 时,我都会停止执行。我考虑过针对连接状态函数进行测试,但似乎找不到(如果连接为真,则为 raw_input 之类的逻辑)。
from twisted.internet.protocol import Factory
from twisted.protocols.basic import LineReceiver
from twisted.internet import reactor
class bottalk(LineReceiver):
botlist = []
def lineReceived(self, line):
botlistspot = len(self.botlist)
self.botlist.append(line)
print self.botlist[botlistspot] + " checked in."
class botfactory(Factory):
def buildProtocol(self, addr):
return bottalk()
reactor.listenTCP(8123, botfactory())
reactor.run()
我试图将以下 raw_input 放在 LineReceiver 类的外部。全部结束..我希望这个 raw_input 提示不断提示输入,而不仅仅是在收到一条线之类的事件之后 - 一直.. 我希望服务器机器人控制台始终准备好接受我的输入并将 sendLine 发送给所有机器人。
sendLine(raw_input("> "))