示例#1
0
    def connect_to_world(self, addr=worldaddr):
        self.worldsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.worldsocket.connect(addr)

        request = amazon_pb2.AConnect()
        request.worldid = self.worldid

        wh = request.initwh.add()
        wh.id = 1
        wh.x = 1
        wh.y = 1

        request.isAmazon = True
        print(request)
        send_request(self.worldsocket, request)

        while True:
            whole_message = recv_response(self.worldsocket)
            response = amazon_pb2.AConnected()
            try:
                response.ParseFromString(whole_message)
            except:
                continue
            print(response)
            print("World id is %d" % response.worldid)
            break
示例#2
0
def Recv_Connected(recv_msg):
    msg = amazon_pb2.AConnected()
    msg.ParseFromString(recv_msg)
    if (not msg) or (not msg.ListFields()):
        print("\033[33mrecv_msg is empty\033[0m")
    if msg.HasField('error'):
        print("\033[31mError: \033[0m", msg.error)
def connectWorld(worldconnect):

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    world_server_ip = socket.gethostbyname(WHOST)
    s.connect((world_server_ip, WPORT))

    send_message(s, worldconnect)

    connectResponse = amazon_pb2.AConnected()
    connectResponse.ParseFromString(recv_message(s))

    print("Worldid: ")
    print(connectResponse.worldid)
    print("\n")

    print("Result: ")
    print(connectResponse.result)
    print("\n")

    return s
示例#4
0
connect_msg = amazon_pb2.AConnect();
connect_msg.worldid = 1002;
# w1 = connect_msg.initwh.add()
# w1.x = -664
# w1.y = -1081
print
"msg is " + connect_msg.__str__();
sc = connect_msg.SerializeToString()

size = len(sc);
delimiter = protobuf_encoder._VarintBytes(size)

s.send(delimiter);
s.send(sc)  # send msg
response = amazon_pb2.AConnected()
head_byte = s.recv(4)

(msg_length, msg_pos) = protobuf_decoder._DecodeVarint32(head_byte, 0)
print(msg_length, msg_pos)
data = s.recv(msg_length)

command_msg = amazon_pb2.ACommands()
buy = command_msg.buy.add()
buy.whnum = 0
product = buy.things.add()
product.id = 123
product.description = "sample products"
product.count = 10

# topack = command_msg.topack.add()