首页 > 代码库 > 节点服务器信息,节点信息及消息处理
节点服务器信息,节点信息及消息处理
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
节点服务器信息,节点信息及消息处理