当前位置: 首页>>代码示例>>C#>>正文


C# NetMQMessage.RemoveFrame方法代码示例

本文整理汇总了C#中NetMQMessage.RemoveFrame方法的典型用法代码示例。如果您正苦于以下问题:C# NetMQMessage.RemoveFrame方法的具体用法?C# NetMQMessage.RemoveFrame怎么用?C# NetMQMessage.RemoveFrame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NetMQMessage的用法示例。


在下文中一共展示了NetMQMessage.RemoveFrame方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExtractRequest

        /// <summary>
        ///   verifies if the message replied obeys the MDP 0.2 protocol
        /// </summary>
        /// <remarks>
        ///     socket strips [client adr][e] from message
        ///     message -> 
        ///                [empty frame][protocol header][service name][requestId][reply]
        ///                [empty frame][protocol header][service name][result code of service lookup]
        /// </remarks>
        private Guid ExtractRequest(NetMQMessage reply)
        {
            if (reply.FrameCount < 4) // TODO Check if I need to change to 5 because of reqId!
                throw new ApplicationException("[CLIENT ERROR] received a malformed reply");

            var emptyFrame = reply.Pop();
            if (emptyFrame != NetMQFrame.Empty)
            {
                throw new ApplicationException($"[CLIENT ERROR] received a malformed reply expected empty frame instead of: { emptyFrame } ");
            }
            var header = reply.Pop();

            if (header.ConvertToString() != m_mdpClient)
                throw new ApplicationException($"[CLIENT INFO] MDP Version mismatch: {header}");

            var service = reply.Pop();

            if (service.ConvertToString() != m_serviceName)
                throw new ApplicationException($"[CLIENT INFO] answered by wrong service: {service.ConvertToString()}");

            Guid requestId;  // TODO: Not sure if requestId should be the last frame or the request itself...
            var reqIdFrame = reply.Last;
            reply.RemoveFrame(reqIdFrame);
            if (!Guid.TryParse(reqIdFrame.ConvertToString(), out requestId) || requestId == Guid.Empty)
            {
                throw new ApplicationException($"[CLIENT INFO] RequestID was not retrieved");
            }
            return requestId;
        }
开发者ID:,项目名称:,代码行数:38,代码来源:


注:本文中的NetMQMessage.RemoveFrame方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。