如何使用twisted python发送字节数组

时间:2014-06-09 09:35:40

标签: python function bytearray twisted

这里,在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()

1 个答案:

答案 0 :(得分:2)

您为什么要发送bytearray? Python的本机字符串类型实际上是一个字节数组 - 一个不可变的字节数组。正如您已经观察到的那样,transport.write将接受一个字符串。所以它会让你发送你需要发送的任何字节数组。

如果您的某些数据已经存在于bytearray实例中,那么您可以使用bytes轻松地构建bytes(your_bytearray)实例。