本页中列出Server application中对象和事件的详细资料。要了解如何建立一个服务应用,以及想知道它的工作流程,请阅读Server application。
对象
通用概念
属性
如下属性操作有效
value = 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