Remote

远程事件系统;只支持lua。 全部展开

呼入展开

  • + _callin(remote, data)

    对接收到的二进制呼入数据data进行处理。数据解码成事件名和事件参数,事件名首字母必须大写,事件参数名首字母必须大写。将事件入队<_enqueue>,在没有函数执行且队列项未删除时触发事件。

    • 参数
    • remote : 作为来源,触发事件时可以通过_from获得。

呼出展开

  • + onCallout(remote, name, args, data)

    发送呼出事件数据。

    • 参数
    • remote : 接收方,即<_callout>的remote参数,可能为网络连接对象等。
    • name : 远程事件名。
    • args : 远程事件参数table,对其修改并不影响已经编码的发送数据。
    • data : 发送的二进制数据,#data是字节数。
  • + remote = _callout(remote, onCallout, defaultDelay)

    将remote设定为可呼出远程事件。

    • 参数
    • onCallout : 呼出时执行的发送函数,返回remote。
    • remote : 可以是网络连接或table,如 _callout(net, onCallout) 或 _callout({}, onCallout) 或 setmetatable({}, {__index = anotherRemote}) 等。
    • defaultDelay : remote对应的默认延迟参数,默认是false不延迟,见下文。

    • remote.Name{Arg=value, ...}

    • 呼出远程事件,Name为事件名,首字母必须大写。
    • Arg : 事件参数,首字母必须大写,value为参数值,参数值要经过<_encode>编码,因此必须满足编码条件。
    • 使用remote的默认延迟参数,如果为秒数,则延迟呼出,见下文。

    • remote.Name{_delay=seconds, Arg=value, ...}

    • 延迟呼出远程事件。
    • seconds : 秒数,可含小数,则将远程事件入队<_enqueue>,在没有函数执行且队列项未删除时,按延迟时刻调用{onCallout}呼出事件。seconds为false,则不延迟,立即呼出。
问题反馈(登录才可以发表哦!)