示例#1
0
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
示例#2
0
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_))