Beispiel #1
0
        public E Receive()
        {
            var stream = _tcp_client.GetStream();

            using (var memory = new MemoryStream())
            {
                byte[] buffer = new byte[1024];
                int    last_read_size;
                // Loop through data and read
                while (stream.CanRead && _tcp_client.Available > 0)
                {
                    last_read_size = stream.Read(buffer, 0, buffer.Length);
                    memory.Write(buffer, 0, last_read_size);
                }
                byte[] all_data = memory.ToArray();
                return(BinaryMessageFactory.Deserialize <E>(all_data));
            }
        }
        static public E Receive <E>(this TcpClient client)
        {
            var stream = client.GetStream();

            if (!stream.CanRead)
            {
                return(default(E));
            }
            using (var memory = new MemoryStream())
            {
                byte[] buffer         = new byte[1024];
                int    last_read_size = 0;
                // Loop through data and read
                do
                {
                    last_read_size = stream.Read(buffer, 0, buffer.Length);
                    memory.Write(buffer, 0, last_read_size);
                } while (last_read_size == buffer.Length);
                byte[] all_data = memory.ToArray();
                return(BinaryMessageFactory.Deserialize <E>(all_data));
            }
        }
 public E Receive()
 {
     byte[] data = _udp_client.Receive(ref _remote_sender_end_point);
     return(BinaryMessageFactory.Deserialize <E>(data));
 }