File size: 1,308 Bytes
1975a6f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import socket

def query_model_server(host: str, port: int, instruction: str, buffer_size: int = 4096):
    """

    连接远程模型服务器,发送自然语言任务指令,获取返回的动作序列。



    :param host: 模型服务器 IP

    :param port: 模型服务器端口

    :param instruction: 要发送给服务器的任务描述

    :param buffer_size: 接收缓冲区大小

    :return: 服务端返回的动作字符串

    """
    try:
        # 创建 socket
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            print(f"🔌 正在连接模型服务器 {host}:{port} ...")
            s.connect((host, port))

            # 发送指令
            s.sendall(instruction.encode('utf-8'))
            print(f"📨 已发送指令: {instruction}")

            # 接收服务器响应
            data = s.recv(buffer_size)
            result = data.decode('utf-8')

            print("📥 服务器返回动作:", result)
            return result

    except Exception as e:
        print(f"❌ 客户端通信异常: {e}")
        return None


if __name__ == "__main__":
    host = "10.103.69.239"
    port = 9999
    instruction = "pick up the cup"

    action_result = query_model_server(host, port, instruction)