示例#1
0
        public IAsyncResult BeginSendMessage(object msg)
        {
            if (tcpChannel != null && requestManager != null)
            {
                IRequest request = new ChannelRequest();
                request.Message = msg;

                //return new DualAsyncResult(requestManager.BeginSendRequest(request));
                return(requestManager.BeginSendRequest(request));
            }

            throw new ChannelException("Channel is not initialized");
        }
示例#2
0
        public object SendMessage(object message, bool NoResponse)
        {
            IRequest request = message as IRequest;

            if (!(message is IRequest))
            {
                request = new ChannelRequest();
                // request.Channel = this;
                request.Message    = message;
                request.NoResponse = NoResponse;
                request.Source     = PeerAddress;
            }

            return(OnRequest(request));
        }
示例#3
0
        public object SendMessage(object message, Boolean NoResponse)
        {
            if (tcpChannel != null && requestManager != null)
            {
                IRequest request = new ChannelRequest();
                request.Message    = message;
                request.NoResponse = NoResponse;

                IResponse channelResponse = (IResponse)requestManager.SendRequest(request);
                if (channelResponse != null && channelResponse.ResponseMessage != null)
                {
                    return(channelResponse.ResponseMessage);
                }

                return(null);
            }

            throw new ChannelException("Channel is not initialized");
        }