def _begin_handshake(self):
data = None
self._feed_buffer(timeout=0.1)
while True:
d = self._unpack_buffer()
if d[0] is None:
break
else:
data = d
if data is not None:
channel_idx, buf, fin = data
if channel_idx != 0xff or fin != 0xfe:
return False
data = msgpack.unpackb(buf, use_list=False, encoding="utf8",
unicode_errors="ignore")
self.session = data["session"]
logger.debug("Get handshake session: %s", self.session)
self.send_object(0xff, {"session": self.session,
"client": "fluxclient-%s" % __version__})
return True
else:
return False
评论列表
文章目录