CS机器人使用RPC服务


RPC(Remote Procedure Call)可以方便的实现远程调用功能,即机器人可以直接调用远程模块提供的函数等。

使用RPC时,机器人作为client,对于真机,机器人使用rpc指令时,默认通过FB2口。

例如使用python创建如下RPC server,并启动运行

from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler

# 定义提供给客户端调用的函数
def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    return x / y

# 创建服务器实例并将定义的函数注册到服务器
server = SimpleXMLRPCServer(("192.168.75.1", 8000)) #监听的本地IP及端口
server.register_function(add, "add")
server.register_function(subtract, "subtract")
server.register_function(multiply, "multiply")
server.register_function(divide, "divide")

# 启动服务器监听客户端请求
server.serve_forever()


在CS机器人中,可以使用如下代码,调用RPC中的若干函数

rpc1 = rpc_factory("xmlrpc","http://192.168.75.1:8000/RPC2")
# 连接rpc服务器,注意server的IP及端口
global var10
var10 = rpc1.add(1,2)
# 调用rpc 服务器中的add函数,并得到结果3
点击显示全文
赞同0
发表评论
分享

手机扫码分享
0
386
收藏
举报
收起
登录
  • 密码登录
  • 验证码登录
还没有账号,立即注册
还没有账号,立即注册
注册
已有账号,立即登录
选择发帖板块
举报
请选择举报理由
举报
举报说明