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)
|