远程rpc调用
关联文件
最常用API
M:new(svr_name,module_name,instance_name) 创建调用对象。
参数:
* svr_name(string) 访问节点名称。
* module_name(string) 模块名称,需要send或者call通信的模块名称(相当于一级索引)。
* instance_name(string) 实例名称,它是模块的二级分类(相当于二级索引)。
返回值:
1. client(table) rpc客户端对象。M:instance(svr_name,module_name,instance_name) 使用单例访问对象(很多时候并不需要创建管理rpc调用对象)。
参数:
* svr_name(string) 访问节点名称。
* module_name(string) 模块名称,需要send或者call通信的模块名称(相当于一级索引)。
* instance_name(string) 实例名称,它是模块的二级分类(相当于二级索引)。
返回值:
1. client(table) rpc客户端对象。M:one_balance_send(…) 用简单轮询负载均衡给单个结点的module_name模板用balance_send的方式发送消息
参数: server接受的参数。
返回值: 无。M:one_balance_call(…) 跟one_balance_send一致,唯一区别是使用call的方式发消息。
M:one_mod_send(…) 用简单轮询负载均衡给单个结点的module_name模板用mod_send的方式发送消息。
参数: server接受的参数。
返回值: 无。M:one_mod_call(…) 跟balance_send一致,唯一区别是使用call的方式发消息。
M:one_send_by_name(…) 通过skynet.regiter(name)注册的别名方式调用,module_name填对应别名。
M:one_call_by_name(…) 通过skynet.regiter(name)注册的别名方式调用,module_name填对应别名。
M:one_broadcast(…) 用简单轮询负载均衡给单个结点的module_name模板用broadcast的方式发送消息。
M:one_broadcast_call(…) 用简单轮询负载均衡给单个结点的module_name模板用broadcast_call的方式发送消息。
M:byid_balance_send(…) 用svr_id映射的方式给单个结点的module_name模板用balance_send的方式发送消息。
M:byid_balance_call(…) 用svr_id映射的方式给单个结点的module_name模板用balance_call的方式发送消息。
M:byid_mod_send(…) 用svr_id映射的方式给单个结点的module_name模板用mod_send的方式发送消息。
M:byid_mod_call(name) 用svr_id映射的方式给单个结点的module_name模板用mod_call的方式发送消息。
M:byid_send_by_name(…) 通过skynet.regiter(name)注册的别名方式调用,module_name填对应别名。
M:byid_call_by_name(…) 通过skynet.regiter(name)注册的别名方式调用,module_name填对应别名。
M:byid_broadcast(name) 用svr_id映射的方式给单个结点的module_name模板用broadcast的方式发送消息。
M:byid_broadcast_call(name) 用svr_id映射的方式给单个结点的module_name模板用broadcast_call的方式发送消息。
M:all_balance_send(…) 给所有结点的module_name模板用balance_send的方式发送消息。
M:all_balance_call(…) 给所有结点的module_name模板用balance_call的方式发送消息。
M:all_mod_send(…) 给所有结点的module_name模板用mod_send的方式发送消息。
M:all_mod_call(name) 给所有结点的module_name模板用mod_call的方式发送消息。
M:all_send_by_name(…) 通过skynet.regiter(name)注册的别名方式调用,module_name填对应别名。
M:all_call_by_name(…) 通过skynet.regiter(name)注册的别名方式调用,module_name填对应别名。
M:all_broadcast(name) 给所有结点的module_name模板用broadcast的方式发送消息。
M:all_broadcast_call(name) 给所有结点的module_name模板用broadcast_call的方式发送消息。
M:one_balance_send_by_name(…)
M:one_balance_call_by_name(…)
M:one_mod_send_by_name(…)
M:one_mod_call_by_name(name)
M:one_broadcast_by_name(name)
M:one_broadcast_call_by_name(name)
M:byid_balance_send_by_name(…)
M:byid_balance_call_by_name(…)
M:byid_mod_send_by_name(…)
M:byid_mod_call_by_name(name)
M:byid_broadcast_by_name(name)
M:byid_broadcast_call_by_name(name)
M:all_balance_send_by_name(…)
M:all_balance_call_by_name(…)
M:all_mod_send_by_name(…)
M:all_mod_call_by_name(name)
M:all_broadcast_by_name(name)
M:all_broadcast_call_by_name(name)
不常用API
- M:set_svr_id(…) 指定服务id。
- M:set_instance_name(…) 指定访问实例名
- M:set_mod_num(…) 指定mod映射数
使用注意点:
服务start之前不能使用rpc调用,因为服务还没有准备好,如果这样使用会抛出错误。