def handle(self):
while True:
self.logger.info("Handler thread name = {}/active count = {}"
.format(threading.current_thread().name,
threading.active_count()))
header = MessageHeader(
self.rfile.read(MessageHeader.HEADER_LENGTH))
self.logger.info("Message length = {}".format(header.length))
self.data = ""
while len(self.data) < header.length:
buf = self.rfile.read(
min(self.MAX_BUF_LENGTH, header.length - len(self.data)))
self.data += str(buf, "UTF-8")
self.logger.info("current length = {}, total length = {}"
.format(len(self.data),
header.length))
self.logger.info("{0} request = {1}"
.format(self.client_address[0],
self.data))
response = JSONRPCResponseManager.handle(self.data, dispatcher)
self.logger.info("response for {0} = {1}"
.format(self.client_address[0],
response.json))
self.wfile.write(MessageHeader.create(
len(response.json)) + bytes(response.json, "UTF-8"))
评论列表
文章目录