3
我试图在Twisted中实现一个SSL客户端,它只需连接到套接字并读取二进制数据(特别是数据元组)。我已经得到代码,似乎连接和断开连接成功,但没有数据是有史以来从套接字读取。从扭曲的SSL套接字读取
class FeedbackHandler(LineReceiver):
MAX_LENGTH = 1024*1024
def connectionMade(self):
log.debug('feedbackHandler connectionMade')
def rawDataReceived(self, data):
log.debug('feedbackHandler rawDataReceived %s' % binascii.hexlify(data))
self.io.write(data)
def lineReceived(self, data):
log.debug('feedbackHandler lineReceived %s' % binascii.hexlify(data))
self.io.write(data)
def connectionLost(self, reason):
log.debug('feedbackHandler connectionLost %s' % reason)
self.deferred.callback(self.io.getValue())
io.close()
这踢它关闭代码:
factory = self.clientProtocolFactory() # a ClientFactory instance
context = self.getContextFactory(CERT_FILE) # a ClientContextFactory
reactor.connectSSL(server, port, factory, context)
但是当它运行没有接收到的方法调用,不管setRawMode
。有没有什么可以从服务器读取?连接时立即调用connectionMade
和connectionLost
,并以ConnectionDone
错误实例终止。
连接完成后,对方是否发送了一些内容? – iny 2010-01-03 10:28:36
如果'self.io'是'StringIO'的一个实例,那么你应该调用'self.io.getvalue()'而不是'self.io.getValue()'。 – jfs 2010-06-09 12:56:25