使用扭曲的客户端向服务器发送多条消息

时间:2017-12-05 10:08:59

标签: python twisted twisted.web

我知道这是重复的 Send multiple messages to server from twisted client,但那里的答案确实没有帮助,我仍然对如何解决这个问题有疑问。

为了测试,我写了一个简单的echo服务器,只是回复它收到的任何消息回到客户端,并且我的客户端代码:

class InsertRecord(Protocol):
    def __init__(self, message):
        print("Protocol initialized")
        self.msg = message
    def connectionMade(self):
        self.transport.write(self.msg)
    def sendMessage(self, msg):
        self.transport.write("MESSAGE %s\n" % msg)

    def dataReceived(self, data):
        print("data")
        reactor.stop()

class ClientInsertFactory(ClientFactory):
    def __init__(self, dataRecord):
        self.dataRecord = dataRecord
        print("Client factor init")
    def buildProtocol(self, addr):
        return InsertRecord(self.dataRecord)
    def startedConnecting(self, connector):
        print("Started to connect to IS Server")


reactor.connectTCP("localhost", 2222, ClientInsertFactory("message1"))
reactor.run()
connector = reactor.connectTCP("localhost", 2222, ClientInsertFactory("message2"))
reactor.run()

我知道我无法停止并重新启动反应堆,但是,我无法想办法解决这个问题。我想要的是能够与服务器生成多个会话,而不会被对reactor.run()的调用阻止。 根据之前链接的帖子,我希望能够在协议之外调用sendData。

0 个答案:

没有答案