gpt4 book ai didi

python - 在Python中使用twisted以异步模式发送数据

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:59 26 4
gpt4 key购买 nike

我想以异步模式将数据发送到服务器(每当我在控制台中输入某些内容时),而不仅仅是像下面的代码那样一次。扭曲库中是否有任何协议(protocol)函数可以处理这个问题?在下面找到仅在建立连接的情况下发送消息的代码。另一方面,我可以通过函数 dataReceived 以异步模式接收数据。是否有任何函数允许我以异步模式发送消息,因为 dataReceived 用于接收。

from twisted.internet import reactor, protocol


class QuoteProtocol(protocol.Protocol):
def __init__(self, factory):
self.factory = factory
def connectionMade(self):
self.sendQuote()
def sendQuote(self):
self.message(self.factory.quote)
def dataReceived(self, data):
print "Received quote:", data
#self.transport.loseConnection()

class QuoteClientFactory(protocol.ClientFactory):
def __init__(self, quote):
self.quote = quote
def buildProtocol(self, addr):
return QuoteProtocol(self)
def clientConnectionFailed(self, connector, reason):
print 'connection failed:', reason.getErrorMessage()
reactor.stop()
def clientConnectionLost(self, connector, reason):
print 'connection lost:', reason.getErrorMessage()
reactor.stop()

message = "hello world"
reactor.connectTCP('127.0.0.1', 5000, QuoteClientFactory())
reactor.run()

最佳答案

如果您想异步处理来自终端的击键,您可以查看TerminalProtocol:http://twistedmatrix.com/documents/9.0.0/api/twisted.conch.insults.insults.TerminalProtocol.html

关于python - 在Python中使用twisted以异步模式发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28607280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com