protected override void WaitForClient()
        {
            var serializer = new BufferMessageSerializer(MessageSize);

            base.WaitForClient();

            this.serverDuplexChannel = new DuplexChannel(
                                           new MessageReader(new FrameReader(ServerStream), serializer),
                                           new MessageWriter(new FrameWriter(ServerStream), serializer)
                                       );
        }
        protected override void SetupClient()
        {
            var serializer = new BufferMessageSerializer(MessageSize);

            base.SetupClient();

            this.clientDuplexChannel = new DuplexChannel(
                                           new MessageReader(new FrameReader(ClientStream), serializer),
                                           new MessageWriter(new FrameWriter(ClientStream), serializer)
                                       );
        }
        protected override void SetupClient()
        {
            var serializer = new BufferMessageSerializer(MessageSize);

            this.clientSocket = new Socket(EndPoint.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            this.clientSocket.Connect(EndPoint);

            this.clientNetworkStream = new NetworkStream(this.clientSocket, true);
            this.clientDuplexChannel = new DuplexChannel(
                                           new MessageReader(new FrameReader(this.clientNetworkStream, this.clientSocket.ReceiveBufferSize), serializer),
                                           new MessageWriter(new FrameWriter(this.clientNetworkStream), serializer)
                                       );
        }
        private Int32 SendMessage(DuplexChannel channel)
        {
            channel.Send(new Byte[MessageSize]);

            return MessageSize;
        }
        private Int32 ReceiveMessage(DuplexChannel channel)
        {
            var buffer = (Byte[])channel.Receive();

            return buffer.Length;
        }
        protected override void WaitForClient()
        {
            var serializer = new BufferMessageSerializer(MessageSize);

            this.channelSocket = serverSocket.Accept();
            this.channelNetworkStream = new NetworkStream(this.channelSocket, true);
            this.channelDuplexChannel = new DuplexChannel(
                                            new MessageReader(new FrameReader(this.channelNetworkStream, this.channelSocket.ReceiveBufferSize), serializer),
                                            new MessageWriter(new FrameWriter(this.channelNetworkStream), serializer)
                                        );
        }