Ejemplo n.º 1
0
    def queuePublishMessage(data):
        try:

            message = {"actionMaterialQueue": 1, "dataMaterialQueue": data}
            credentials = pika.PlainCredentials('test', 'test')
            parameters = pika.ConnectionParameters('192.168.50.6', 5672, '/',
                                                   credentials)
            connection = pika.BlockingConnection(parameters)

            channel = connection.channel()
            channel.queue_declare(queue='micro_sv')

            channel.basic_publish(exchange='',
                                  routing_key='micro_sv',
                                  body=json.dumps(message,
                                                  indent=4,
                                                  sort_keys=True,
                                                  cls=DecimalEncoder))
            connection.close()

            return json.dumps(message,
                              indent=4,
                              sort_keys=True,
                              cls=DecimalEncoder)

        except IOError as e:
            message = {"actionQueue": 0, "data": json.lodas(data)}
            return json.dumps(message,
                              indent=4,
                              sort_keys=True,
                              cls=DecimalEncoder)
Ejemplo n.º 2
0
def get_msg_num(SQS_QUEUE_URL):
    '''
	QueueのURLを引数で受け取り,shellに渡し
	数字として返す
	'''
    # resultにはjson形式の文字列が入る
    result = subprocess.run("sh get_msg_num.sh",
                            shell=True,
                            input=SQS_QUEUE_URL,
                            stdout=PIPE,
                            text=True)

    # 辞書型に変換
    as_dict = json.lodas(result.stdout)

    return
Ejemplo n.º 3
0
 def model_loads(self, model_json):
     self.model = json.lodas(model_json)
     self.msum = sum(self.model.values())
Ejemplo n.º 4
0
def on_message(client, userdata, msg):
    results.append(json.lodas(msg.payload))
Ejemplo n.º 5
0
def tcplink(sock, addr, player_id, game):
    # 将plyaer_id 发给玩家
    conn = Controller()
    data = json.dumps({'player_id' : player_id})
    sock.send(data.encode('utf-8'))
    my_turn = False
    while True:
        data = sock.recv(1024)
        if game.get_current_player() == player_id and not my_turn:
            data = json.dumps({'mess':'begin'})
            sock.send(data.encode('utf-8'))
            my_turn = True
            continue
        if not my_turn:
            time.sleep(1)
            data = json.dumps({'mess':'not your turn'})
            sock.send(data.encode('utf-8'))
            continue

        mess = json.lodas(data)
        replay = {}
        infoclass = mess['InfoClass']
        # 结束当前回合
        if infoclass == 'end':
            print('end roud')
            game.update_action_stack()
            game.update_round()
            my_turn = False
            data = json.dumps({'mess':"end"})
            sock.send(data.encode('utf-8'))
            continue
        # 行动
        if infoclass == 'Action':
            player_id = game.get_current_player()
            action = mess['action']
            chess_id = mess['chess_id']
            if action == 'move':
                x = mess['x']
                y = mess['y']
                pos = {'x':x, 'y':y}
                flag = conn.move_chess(game, chess_id, player_id, pos)

            if action == 'hide':
                flag = conn.hidden_action(game, player_id, chess_id )

            if action == 'conquer':
                village_id = mess['village_id']
                flag = conn.conquer_village(game, player_id, chess_id, village_id)

            if action == 'get_on_car':
                car_id = mess['car_id']
                flag = conn.get_on_car(game,player_id, chess_id, car_id)

            if action == 'get_off_car':
                car_id = mess['car_id']
                flag = conn.get_on_car(game,player_id, chess_id, car_id)

            if action == 'fire':
                target_id = mess['target_id']
                flag = conn.fire_action(game, player_id, chess_id, target_id)
        if flag :
            replay['mess'] = 'Sucess'
        else :
            replay['mess'] = 'Fail'
        data = json.dumps(replay)
        sock.send(data.encode('utf-8'))
    sock.close()
    print ('Connection from %s:%s closed.' % addr)