中间件集群协议msgpack
中间件集群协议msgpack
/// <author>cxg 2020-8-5</author> /// 集群协议 /// broker:代理服务器 unit groupProtocol; interface uses SysUtils, MsgPack ,classes ; const //命令字 ConnMiddleWare = 2; ConnMiddleWareResp = 52; MiddleHeartBeat = 5; MiddleHeartBeatResp = 55; /// <summary> /// 向broker申请连中间件 /// </summary> /// <returns></returns> function connMiddle: TStream; /// <summary> /// broket返回可用中间件的ip和port /// </summary> /// <param name="status"></param> /// <param name="ip"></param> /// <param name="port"></param> /// <returns></returns> function connMiddleResp(const status: Boolean; const ip: string; const port: Integer): TStream; /// <summary> /// 中间件发送心跳给broker /// </summary> /// <param name="ip"></param> /// <param name="port"></param> /// <returns></returns> function middleHeart(const ip: string; const port: Integer): TStream; /// <summary> /// broker返回中间件心跳应答 /// </summary> /// <param name="status"></param> /// <returns></returns> function middleHeartResp: TStream; implementation function middleHeartResp: TStream; begin var p: TMsgPack := TMsgPack.Create; Result := TMemoryStream.Create; p.Force('cmd').AsInteger := MiddleHeartBeatResp; p.EncodeToStream(Result); p.Free; end; function middleHeart(const ip: string; const port: Integer): TStream; begin var p: TMsgPack := TMsgPack.Create; Result := TMemoryStream.Create; p.Force('cmd').AsInteger := MiddleHeartBeat; p.Force('ip').AsString := ip; p.Force('port').AsInteger := port; p.EncodeToStream(Result); p.Free; end; function connMiddleResp(const status: Boolean; const ip: string; const port: Integer): TStream; begin var p: TMsgPack := TMsgPack.Create; Result := TMemoryStream.Create; p.Force('cmd').AsInteger := ConnMiddleWareResp; p.Force('status').AsBoolean := status; p.Force('ip').AsString := ip; p.Force('port').AsInteger := port; p.EncodeToStream(Result); p.Free; end; function connMiddle: TStream; begin var p: TMsgPack := TMsgPack.Create; Result := TMemoryStream.Create; p.Force('cmd').AsInteger := ConnMiddleWare; p.EncodeToStream(Result); p.Free; end; end.
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/13440240.html