def g_to_main_exchange(): """ добавляет в очередь сообщение в байтах :param point: :return: """ print("init g_to_main_exchange") connection = pika.BlockingConnection( pika.ConnectionParameters(host='localhost')) channel = connection.channel() channel.queue_declare(queue=cnf.server_global_queue_name) exchange = '' while True: packet = yield try: packet = cnf.to_bytes_from_data_message(packet) channel.basic_publish( exchange=exchange, # точка обмена routing_key=server_global_queue_name, # имя очереди body=packet) print("to queue is ok") except: g_my_log.send("to_queue: exit..." + str(packet)) break return
def main(): TCP_IP = cnf.server_address TCP_PORT = cnf.PORT sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((TCP_IP, TCP_PORT)) cmd = CMD.NEW_PP sender = 0 receiver = 100 # id сервера data = 0 size_next = 0 msg = cnf.ntuple_data_message(0, cmd, sender, receiver, size_next, data) mess = cnf.to_bytes_from_data_message(msg) if not sock.send(mess): return answer = sock.recv(cnf.SIZE_HEADER) if not answer: print("нет ответа") return message = cnf.to_data_message_from_bytes_(answer) self_id = message.data while 1: receiver = input("Продолжить, получатель?\n") id_ = msg.id + 1 msg = cnf.ntuple_data_message(id_, CMD.ON_LIGHT, self_id, receiver, msg.size_next, msg.data) mess = cnf.to_bytes_from_data_message(msg) sock.send(mess) tmp = sock.recv(cnf.SIZE_HEADER) or None if not tmp: sock.close() return answer = sock.recv(24) if not answer: sock.close() return answer_ = cnf.to_data_message_from_bytes_(answer) print("received ->" + str(answer_))