节点服务器信息,节点信息及消息处理

Posted 耗喜天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了节点服务器信息,节点信息及消息处理相关的知识,希望对你有一定的参考价值。

01.节点服务器.服务器中间件属性提取 ==> TSysReporter (参考19.系统状态报告)

   a.节点综合运行状态获取; ==> 用于节点服务管理器等工具;

      ** 取节点服务器的运行状态:  FetchNodeStatus(TQBParcel)

      ** 取远程节点服务器的工作参数: FetchNodeParameters(TQBParcel)

          StringGoods(‘DefaultDir‘)          系统服务所在文件夹

          StringGoods(‘SelfFileName‘)         系统服务程序文件名

          StringGoods(‘ServiceName‘)          系统服务名

          StringGoods(‘DisplayName‘)          系统服务显示名

          StringGoods(‘ServiceDesc‘)          系统服务描述信息

          IntegerGoods(‘RequestTimeout‘)        请求接收超时秒数

          IntegerGoods(‘HeartbeatSeconds‘)       用户会话心跳包周期

          IntegerGoods(‘MaxRequestLength‘)       最大请求长度

          IntegerGoods(‘MaxUsersAllowed‘)       最大允许的用户数

          IntegerGoods(‘BackupDays‘)          备份消息的保存天数

          BooleanGoods(‘SaveU2UMessages‘)       是否为离线用户备份U2U消息

          BooleanGoods(‘SaveBroadcastMessages‘)    是否为离线用户备份群发消息

          IntegerGoods(‘WebPort‘)            Web服务端口

          BooleanGoods(‘WebServiceEnabled‘)      Web服务是否开启

          StringGoods(‘WebHomeDir‘)           Web主页默认路径

          StringGoods(‘WebDefaultFilename‘)      Web默认首页文件名称

          StringGoods(‘WebDynamicPageExt‘)       Web动态页面扩展名

          BooleanGoods(‘WebGZipEnabled‘)        WEB服务的GZip开启否

          BooleanGoods(‘WebStaticGZipEnabled‘)     Web服务的静态GZip压缩开启否

          IntegerGoods(‘WebMaxRequestHeader‘)     Web最大请求头

          IntegerGoods(‘WebMaxRequestData‘)      Web最大请求数据

          IntegerGoods(‘WebRequestTimeout‘)      Web最大请求超时量

          BooleanGoods(‘FileCacheEnabled)        Web文件缓冲是否启用

          IntegerGoods(‘FileCacheSize‘         Web文件缓冲区最大值

          IntegerGoods(‘FileSizeThreshold)       Web缓存文件大小阀值

          IntegerGoods(‘FileAliveMinutes‘)       Web缓存文件存活时间

          BooleanGoods(‘WebSocketEnabled‘)       WebSocket服务是否开启

          IntegerGoods(‘WebSocketHeartbeat‘)      WebSocket心跳包周期:秒数

          BooleanGoods(‘LoadBalanceEnabled‘)      负载均衡启用否

          BooleanGoods(‘WebDispatchEnabled‘)      Web负载均衡启用否

          IntegerGoods(‘BalancePort‘)          负载均衡消息组播端口号

          RealGoods(‘ThisNodeFactor‘)          本节点性能加权值

 

   b.检测节点服务器是否在线;

      HelloNode

   c.取中间件版本

      GetServiceVersion

   d.取服务器系统时间

      GetServerDateTime

     

 

02.关于节点服务器数据信息的处理(参考5.节点管理控件)

   a.从根结点提取子节点列表信息:   FetchNodeList(CDS,InCludeRootNode:Boolean=False) 

   b.在根结点上注册一个新的子结点: AddNode()

   c.修改一个子节点的属性: UpdateNode()

   d.注销一个子节点: RemoveNode()

   e.取一个节点的属性

   --------------

   本属性可方便的实现对所有连锁店业务的处理

 

03.消息回调传输 (服务端引用 NodeServiceAPI.pas)

   a.向单个用户发送消息

     客户端发送: 目标用户ID = UserID+‘@‘+UserNodeID

     服务端调用: PluginToUser(入参包,目标用户ID,要发送的包,消息类别)

     客户端接收: TMsgReceiver.ReceiverOneUserMessage

     **常量描述: 消息类别(MsgType).Demo中传的值是 1

     ---------------------------------------------------

     这一项停用

 

   b.向某个节点的所有用户发送消息

     客户端发送: 目标节点标识ID,用户类别(Demo中为0),群发方式(Demo中为1)

                目标节点标识ID=目标节点的UserNodeID

     服务端调用: PluginToNodeUsers(入参包,目标节点标识ID,用户类别,群发方式,要发送的包,消息类别)

     客户端接收: TMsgReceiver.ReceiverMultiUserMessage

     **常量描述: 用户类别.Demo中 0:表示所有用户

                 群发方式.Demo中: 1-群发给用户 2-LAN广播 3-LAN组播 4-UDP单播

                 消息类别.Demo中传的 1

     ---------------------------------------------------

     这一项停用

 

   c.发送给所有连接

     客户端发送: 目标节点标识ID

     服务端调用: PluginToAllConnections(入参包,目标节点标识ID,要发送的包,消息类别)

     客户端接收: TMsgReceiver.ReceiverAllConnectionsMessage

     **常量描述: 消息类别(MsgType).Demo中传的值是 5

 

   d.向单个连接发送消息

     客户端发送: 目标节点标识ID,目标连接ID(UserConn.ConnectionId)

     服务端调用: PluginToConnection(入参包,目标节点标识ID,目标连接ID,要发送的包,消息类别)

     客户端接收: TMsgReceiver.ReceiverOneConnectionMessage

     **常量描述: 消息类别(MsgType).Demo中传的值是 1

 

   e.异步回调

     客户端发送: 目标节点标识ID,目标连接ID(UserConn.ConnectionId)

     服务端调用: PluginCallback(入参包,目标节点标识ID,目标连接ID,要发送的包)

     客户端接收: TMsgReceiver.ReceiverOneConnectionMessage 

   ---------------------------------------------------

     这一项停用

 

   f.指定整数绑定值消息发送

     客户端发送: 目标节点标识ID,绑定的整数标识值

     服务端调用: PluginToIntPropConnections(入参包,目标节点标识ID,绑定整数值,要发送的包,消息类别)

     客户端接收: TMsgReceiver.ReceiverIntPropConnectionsMessage

     **常量描述: 消息类别(MsgType).Demo中传的值是 7

 

   g.指定字符串绑定值消息发送

     客户端发送: 目标节点标识ID,绑定的字符串标识值

     服务端调用: PluginToIntPropConnections(入参包,目标节点标识ID,绑定字符串值,要发送的包,消息类别)

     客户端接收: TMsgReceiver.ReceiverStrPropConnectionsMessage

     **常量描述: 消息类别(MsgType).Demo中传的值是 8

 

   h.指定角色标识消息发送

     客户端发送: 目标节点标识ID,绑定的角色标识值(字符型)

     服务端调用: PluginToRoleIdConnections(入参包,目标节点标识ID,绑定角色值,要发送的包,消息类别)

     客户端接收: TMsgReceiver.ReceiverRoleIdConnectionsMessage

     **常量描述: 消息类别(MsgType).Demo中传的值是 9

以上是关于节点服务器信息,节点信息及消息处理的主要内容,如果未能解决你的问题,请参考以下文章

理解消息,主题和服务

即使节点崩溃也保留 JMS 消息

ZeroMQ(0MQ)服务器保留客户端发送消息的状态信息的时间为多长时间?

我在 IIB 上使用收集器节点来收集消息。有人可以在收集器节点之后使用示例 ESQL 来指导处理消息收集吗?

kafka的安装部署及应用

kafka的安装部署及应用