Skip to content

trinity_external_events

kingfo edited this page Dec 30, 2011 · 16 revisions

API:Trinity External Events

为了能统一输出,所有输出都会传给被称为 jsentry 的函数入口,如何使用jsentry 可以参考这里

事件顺序:

  swfReady ---> [master] ---> join ---> [message]

由于基于 AJBridge 的 as3 core 因此会有个典型的 swfReady 事件产生。可以通过此事件进行检查 Flash 是否正确加载并并执行。 事实上,建议您除了检查 SWF 是否正确执行内部脚本外,不要用于处理其他事 swfReady 事件具备以下消息格式

{type:'swfReady'}

当前节点第一次创建时就处于主节点(master) 或者主节点(master)失效时被当前节点占有都有这个事件产生。

master 事件具备以下消息格式

{type:'master',name:GROUP}

其中 name 就为当前网络组的名称,是通过 Trinity 参数 中的 group参数决定。

当前节点加入网络组,任意节点都有该事件产生。

join 事件具备以下消息格式

{type:'join',name:NODENAME}

其中 name 就为**当前节点**的名称。 他是由该节点自行生成的随机编码名称。

当前节点接收到来自其他任意节点的消息时的事件。

message事件具备以下消息格式

{type:'message', data:ANYDATA}

一般来说, 'data' 就是 任意节点发送过来的数据,Trinity 不会对 data 中的数据做特地的更改,当然,这数据中不能包含 typeof 为 'function' 的数据。

当前节点 fire() 数据成功(不一定抵达目标,但目标是存在的情况)的状态事件。
status事件具备以下消息格式:

{type:'status',msg:MESSAGE, data:EXCHANGEDATA}

当前节点 fire() 数据失败的状态事件。一般情况下只有目标节点下线才会触发此事件。

error事件具备以下消息格式:

{type:'error',msg:MESSAGE, data:EXCHANGEDATA}

交换数据对象。用于内部交换数据的固定格式,一般只有在 发送消息( 成功 或 失败) 时获得。

!!!注意请不要将此数据用于二次传递。!!!

  • from 交换数据来源名称,一般是当前节点。
  • to 发往的节点名。
  • gateway 当前节点的网关,即从属于的主节点(master),一般和配置的group参数一致。
  • body节点发送的数据。
  • type 当前节点类型。一般恒为 0 。

Clone this wiki locally