示例#1
0
        public async Task <byte[]> Write(byte[] message)
        {
            TcpMessage requestMessage = TcpMessage.CreateMessage(message);

            byte[] requestBuffer = requestMessage.GetBufferedMessage();
            await this._stream.WriteAsync(requestBuffer, 0, requestBuffer.Length);

            TcpMessage responseMessage = await TcpMessage.ReadMessage(this._stream);

            Interlocked.Increment(ref Writes);
            return(responseMessage.Data);
        }
示例#2
0
        private async Task ProcessMessage(TcpMessage requestMessage)
        {
            if (!ExecutionContext.IsFlowSuppressed())
            {
                ExecutionContext.SuppressFlow();
            }

            byte[] result = this._listener.Service.ExecuteProcess(requestMessage.Data);

            TcpMessage responseMessage = TcpMessage.CreateMessage(result);

            byte[] responseBuffer = responseMessage.GetBufferedMessage();
            await this._stream.WriteAsync(responseBuffer, 0, responseBuffer.Length);
        }