首页 > 代码库 > OpenRTMFP/Cumulus服务器API(1)--Cumulus

OpenRTMFP/Cumulus服务器API(1)--Cumulus

本页中列出Server application中对象和事件的详细资料。要了解如何建立一个服务应用,以及想知道它的工作流程,请阅读Server application。

对象


通用概念


属性

如下属性操作有效

value = http://www.mamicode.com/object.property


方法

方法按照如下方式调用:

results = object:method(arguments)


事件

某些对象含事件,系统调用只,仅需在函数中重写该事件名称即可。

function object:onManage()
    self:writeAMFMessage("push","test")
end


pairs

对于某些含map类型值的对象,可以用pairs方法迭代,如下:

for name,value in mapObject:pairs() do
    print(name,value)
end


ipairs

如果是arry类型,则用ipairs方法迭代

for index,value in arrayObject:ipairs() do
    print(index,value)
end


Cumulus

cumulus是全局对象,提供主Cumulus的所有元素,许可在脚本文件的任何地方调用。


属性

  • clients (read-only):只读。所有正在连接的客户端,具体查看后面的clients对象。
  • configs,:返回LUA的table类型数据,包含Cumulus的配置信息,即CumulusServer.ini文件中的信息以及其它可用参数(application.path,application.baseName,等等,通过迭代这个table能够得到其内容)。在Server application的Global configurations中有一个例子。
  • epochTime (read-only):只读。 返回时间(从Unix的纪元事件开始,1970年1月1日0时0分0秒开始,精确到百万分之一秒)。
  • groups (read-only):只读。返回存在的分组,查看后面的groups对象。
  • pulications (read-only):只读。(应该是publication,原文有误)有效的服务发布信息,查看随后的publications。
  • servers (read-only):只读。CumulusServer实例化正在连接的服务,查看servers对象。
  • publicAddress (read-only):只读。 所设置的公网服务器地址。


方法

  • absolutePath(path):.第一个参数为应用的path,并返回其目录的绝对路径。这有助于你将服务器应用的代码分别写到多个LUA文件中(参阅Server application中的LUA extensions and files inclusion )。
  • addToBlacklist(...):添加IP黑名单
  • removeFromBlacklist(...):从黑名单中移除ip
  • createTCPClient():TCP客户端,参阅Server Application, Sockets
  • createTCPServer():TCP服务,参阅Server Application, Sockets
  • createUDPSocket([allowBroadcast]):返回UDP。 通过这个socket能调用布尔型变量allowBroadcast广播数据。
  • publish(name):根据name发布服务器的publication,如果成功,返回Publication对象,否则返回nil。如果遇到同样name的publication也会失败。阅读Publication对象的有关说明,了解更多如何通过publication推送音频、视频和数据包。
  • fromAMF(data):将AMF数据转化为参数中的相关类型。
  • toAMF(...):将LUA类型转化为AMF格式。
  • toAMF0(...):已有同样的方法,但是优先转化为AMF0格式(如果有可能)
  • md5(...):输入值做为变量,返回MD5值。
  • sha256(...):输入值做为变量,返回sha256值。
  • sendMail(sender,subject,content,...):sender为发件人,向收件人发送邮件,收件人地址为后面的多参数字段。返回的邮件对象仅包括onSent(error),记录这发送信息。参阅Server Application, Sockets。
  • split(expression,separator[,option]):LUA没有分割操作,此函数填补了该遗憾。以separator来分割expression.返回字符串,option=1:忽略返回值的空格;option=2:删除开头和结尾的空格;option=3:两者在同一时间。


注:OpenRTMFP官方网址.原文在该代码的wiki中。更多关于本文的翻译结果,请阅读:https://github.com/qiwsir/Cumulus