在python中映射请求-响应

2024-10-03 21:25:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经开始学习Python。我有一个基本的需求来映射TCP客户机的请求和响应。客户机可以根据某种条件随时发送任何请求,并期望服务器对该请求做出特定的响应。如何映射请求-响应对。我想要的样本代码。此外,服务器可以发送任意消息,该消息不会映射到任何客户端请求。你知道吗

class MSOProtocol(Protocol):
    def __init__(self):
        self.client_id = uuid4()
        self.messagePair = collections.OrderedDict()

    def connectionMade(self):
        log.msg("Device connected to TSIF")
        self.doOperation()              

    def connectionLost(self, reason):
        log.msg('Device lost connection because {}'.format(reason))

    def sendMessage(self, data):
        log.msg('Device sending...str(msg)'.format(data))
        self.transport.write(data)

    def dataReceived(self, data):
        log.msg('Device received {}'.format(data))
        #how do I map the response with my request

    def doOperation(self):
        CONDITION = "rainy"
        if condition == "sunny":
            self.sendMessage("sunny weather")


class DeviceFactory(ClientFactory):
    def buildProtocol(self, addr):
        return MSOProtocol()

def main():
    log.startLogging(sys.stdout)
    reactor.connectTCP('127.0.0.1', 16000, DeviceFactory())
    reactor.run()

if __name__ == '__main__':
    main()

Tags: self服务器logformat消息data客户机main