示例#1
0
    def __init__(self, handler):

        Thread.__init__(self)
        self.handler = handler

        self.sock    = self.handler.socket
        self.typr_handler  = self.handler.type_
        self.packet = cnf.init_ntuple_data_message()
        pass
示例#2
0
    def run(self):
        sending_to_queue = glb_queue.g_to_main_exchange()
        sending_to_queue.next()

        while self.is_connect:
            # инициализируем и чистим значения при последующих циклах
            pack = []  # сборка цепочки сообщений
            size_next_mess = 0
            current_message = cnf.init_ntuple_data_message()
            try:
                print ("waiting message...")
                recvd_msg = self.sock.recv(cnf.SIZE_HEADER)
            except:
                print ("reset connect")
                self.is_connect = False
                continue

            if not recvd_msg:
                print("reset connect")
                self.is_connect = False
                continue

            current_message = cnf.to_data_message_from_bytes_(bytes(recvd_msg))

            if not current_message:
                print("reset connect")
                self.is_connect = False
                continue
            self.add_to_packet_from_main_header(current_message)
            while current_message.size_next > 0 and self.is_connect:
                current_message = cnf.to_data_message_from_bytes_(bytes(self.sock.recv(size_next_mess)))
                if not current_message or self._check_mess(current_message):
                    print("dont have data or is not good. Close session...\n -->> ")
                    self.is_connect = False
                    continue
                else:
                    pack.append(current_message.data)

            # прием закончен, добавить в CacheClient

            self._add_datas_in_packet(pack)

            sending_to_queue.send(self.packet)
            print("Message is receiving ad add to queue....")
        if not self.is_connect:
            self._close_session_()
        else: return
        pass