Пример #1
0
        public void We_should_go_through_the_list_quickly()
        {
            DerivedObject obj = new DerivedObject("Chris", "Patterson", "Pimp");
            DerivedObject obj2 = new DerivedObject("Joe", "Blow", "Daddy");

            //IObjectFormatter fomatter = new XmlObjectFormatter();

            MemoryStream mstream = new MemoryStream();

            using(IObjectFormatter formatter = new BEncodeObjectFormatter(mstream))
            using(IObjectSerializer serializer = new BasicObjectSerializer(formatter))
            {
                serializer.Serialize(formatter, obj);
                serializer.Serialize(formatter, obj2);
            }

            Debug.WriteLine("DATA: " + Encoding.UTF8.GetString(mstream.ToArray()));

            MemoryStream mdecode = new MemoryStream(mstream.ToArray());

            using(BDecode decoder = new BDecode(mdecode))
            {
                object newObj = decoder.Read(TimeSpan.FromSeconds(200));

                Assert.That(newObj, Is.Not.Null);
                Assert.That(newObj, Is.TypeOf(typeof(DerivedObject)), "Invalid Type Received");

                object newObj2 = decoder.Read(TimeSpan.FromSeconds(200));

                Assert.That(newObj2, Is.Not.Null);
                Assert.That(newObj2, Is.TypeOf(typeof(DerivedObject)), "Invalid Type Received");

            }
        }
Пример #2
0
        public PeerConnection(Socket socket, EndPoint endpoint, Action <PeerConnection> disposeCallback)
        {
            _endpoint        = endpoint;
            _disposeCallback = disposeCallback;

            _socket = socket;
            _stream = new NetworkStream(_socket, FileAccess.ReadWrite, true);

            _stream.ReadTimeout  = 1200000;
            _stream.WriteTimeout = 10000;

            _decoder = new BDecode(_stream);

            _formatter  = new BEncodeObjectFormatter(_stream);
            _serializer = new BasicObjectSerializer(_formatter);
        }