访问对象[内部rpc]

contriner_client

function M:register(…)

描述

注册访问,想要访问一个可热更访问,首先需要在load阶段注册访问
参数

  • … string[] 可热更访问模块名 列表

返回值

function M:set_week_visitor(…)

描述

设置弱访问者 如果2个可热更模块相互访问,需要有一方去标记另一方为弱访问者,这样才不会因环访问导致双方旧服务无法退出
参数

  • … string[] 可热更访问模块名 列表

返回值

function M:set_always_swtich(…)

描述

设置总能切换访问到新服务,如果不想因自身为旧服务,就只能访问对方旧服务,就可以调用此接口
参数

  • … string[] 可热更访问模块名 列表

返回值

function M:is_week_visitor(module_name)

描述

是否弱访问者
参数

  • module_name string 可热更模块名

返回值

  • boolean

function M:get_week_visitor_map()

描述

获取弱访问者列表
参数

返回值

  • table

function M:get_need_visitor_map()

描述

获取访问列表
参数

返回值

  • table

function M:add_queryed_cb(module_name, func)

描述

添加查询到某服务地址的回调
参数

  • module_name string 模块名
  • func function 回调函数

返回值

function M:add_updated_cb(module_name, func)

描述

添加更新某服务地址的回调
参数

  • module_name string 模块名
  • func function 回调函数

返回值

function M:monitor_all()

描述

监听所有服务地址
参数

返回值

function M:new(module_name,instance_name,can_switch_func)

描述

创建一个skynet内部rpc调用对象
参数

  • module_name string 模块名
  • instance_name string 实例名称,它是模块的二级分类
  • can_switch_func function|nil 是否可以切服,当连接的模块服务地址更新后,是否要切换到新服务,每次发消息的时候都会检测是否切服,不传默认切

返回值

  • table obj

function M:new_raw(module_name,instance_name,can_switch_func)

描述

创建一个skynet内部rpc调用对象, send,call 使用 rawsend rawcall方式(注:一般做转发才用这个,请清楚了解 rawsend和send的区别再考虑使用,否则处理不好,会造成内存泄漏)
参数

  • module_name string 模块名
  • instance_name string 实例名称,它是模块的二级分类
  • can_switch_func function|nil 是否可以切服,当连接的模块服务地址更新后,是否要切换到新服务,每次发消息的时候都会检测是否切服,不传默认切

返回值

  • table obj

function M:instance(module_name,instance_name)

描述

常驻new对象 默认切服
参数

  • module_name string 模块名
  • instance_name string 实例名称,它是模块的二级分类

返回值

  • table obj

function M:set_mod_num(num)

描述

设置mod映射访问的数字 如果没有设置,mod消息时默认使用 自身服务id % 服务数量
参数

  • num number 模块名

返回值

  • table obj

function M:set_instance_name(name)

描述

设置mod映射访问的数字 如果没有设置,mod消息时默认使用 自身服务id % 服务数量
参数

  • num number 模块名

返回值

  • table obj

function M:get_mod_server_id()

描述

获取通过mod取到的对应服务id
参数

返回值

  • number

function M:get_balance_server_id()

描述

获取通过balance取到的对应服务id,balance是简单轮询负载均衡,如果有服务id列表[1,2,3,4],5次的结果是1,2,3,4,1
参数

返回值

  • number

function M:get_mod_server_id_by_name()

描述

在instance_name二级分类中,获取通过mod取到的对应服务id,mod是简单hash映射。如果有服务id列表[1,2,3,4],设置mod_num等于3,instance_name等于game,实例名称对应列表(game)[1,2] (hall)[3,4] 每次调用结果都是2
参数

返回值

  • number

function M:get_balance_server_id_by_name()

描述

在instance_name二级分类中,获取通过balance取到的对应服务id,balance是简单轮询负载均衡。如果有服务id列表[1,2,3,4],设置instance_name等于game,实例名称对应列表(game)[1,2] (hall)[3,4] 5次的结果是1,2,1,2,1
参数

返回值

  • number

function M:mod_send(…)

描述

mod hash映射一个服务id,并send skynet lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

function M:mod_call(…)

描述

mod hash在module_name列表中映射一个服务id,并call skynet lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

  • … any

function M:balance_send(…)

描述

balance简单负载均衡 skynet send lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

function M:balance_call(…)

描述

balance简单负载均衡 skynet call lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

  • … any

function M:mod_send_by_name(…)

描述

mod hash在instance_name服务列表中映射一个服务id skynet send lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

function M:mod_call_by_name(…)

描述

mod hash在instance_name服务列表中映射一个服务id skynet call lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

  • … any

function M:balance_send_by_name(…)

描述

简单负载均衡在instance_name服务列表中轮询服务id skynet send lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

function M:balance_call_by_name(…)

描述

简单负载均衡在instance_name服务列表中轮询服务id skynet call lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

  • … any

function M:broadcast(…)

描述

广播在module_name服务列表中的服务id skynet send lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

function M:broadcast_call(…)

描述

广播在module_name服务列表中的服务id skynet call lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

  • table

function M:broadcast_by_name(…)

描述

广播在instance_name服务列表中的服务id skynet send lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

function M:broadcast_call_by_name(…)

描述

广播在instance_name服务列表中的服务id skynet call lua消息
参数

  • … any[] cmd, arg1, arg2, arg3

返回值

  • table

访问对象[内部rpc]
https://huahua132.github.io/2024/06/29/skynet_fly_api_word/client/contriner_client/
作者
huahua132
发布于
2024年6月29日
许可协议