예제 #1
0
        public override void Push(IMessage message, MessageClient messageClient)
        {
            if (this.ChannelDefinition.Properties.IsPollingEnabled)
            {
                IEndpointPushHandler handler = messageClient.Client.GetEndpointPushHandler(this.Id);
                if (handler != null)
                {
                    IMessage messageClone = message.Copy() as IMessage;
                    messageClone.SetHeader(MessageBase.DestinationClientIdHeader, messageClient.ClientId);
                    messageClone.clientId = messageClient.ClientId;
                    handler.PushMessage(messageClone);
                }

                /*
                 * IMessage messageClone = message.Clone() as IMessage;
                 * messageClone.SetHeader(MessageBase.DestinationClientIdHeader, messageClient.ClientId);
                 * messageClone.clientId = messageClient.ClientId;
                 * messageClient.AddMessage(messageClone);
                 */
            }
            else
            {
                if (log.IsWarnEnabled)
                {
                    log.Warn("Push request received for the non-polling AMF endpoint '" + this.Id + "'");
                }
            }
        }
예제 #2
0
        public override void Push(IMessage message, MessageClient messageClient)
        {
            IEndpointPushHandler handler = messageClient.Client.GetEndpointPushHandler(this.Id);

            if (handler != null)
            {
                IMessage messageClone = message.Copy() as IMessage;
                messageClone.SetHeader(MessageBase.DestinationClientIdHeader, messageClient.ClientId);
                messageClone.clientId = messageClient.ClientId;
                handler.PushMessage(messageClone);
            }

            /*
             * IMessage messageClone = message.Clone() as IMessage;
             * messageClone.SetHeader(MessageBase.DestinationClientIdHeader, messageClient.ClientId);
             * messageClone.clientId = messageClient.ClientId;
             * messageClient.AddMessage(messageClone);
             */
        }