这里,在sendQuote方法中,我想发送一个字节数组但是twisted提供了传输写入方法,它接受字符串。如何使用Twisted响应发送字节数组。谢谢。
class QuoteProtocol(protocol.Protocol):
def __init__(self, factory):
self.factory = factory
def connectionMade(self):
self.sendQuote()
def sendQuote(self):
#self.file.write(bytearray([0x00, 0x31, 0x34, 0x32, 0x30, 0x30, 0x30, 0x30, 0x31, 0x11, 0x0c, 0x00, 0xfd, 0x09, 0x00, 0x2f, 0xe7, 0x5e, 0x3a, 0x08, 0x3c, 0x00, 0x00, 0x00, 0x49, 0x95]))
self.transport.write("Quote reecevied")
def dataReceived(self, data):
print "Received quote:", data
self.transport.loseConnection()
答案 0 :(得分:2)
您为什么要发送bytearray
? Python的本机字符串类型实际上是一个字节数组 - 一个不可变的字节数组。正如您已经观察到的那样,transport.write
将接受一个字符串。所以它会让你发送你需要发送的任何字节数组。
如果您的某些数据已经存在于bytearray
实例中,那么您可以使用bytes
轻松地构建bytes(your_bytearray)
实例。