public DisplayImageReciveAlgorithm(Connection connection,
                                           IShareAlgorithmManager manager,
                                           int interval,
                                           IPictureArea area,
                                           Action closed)
        {
            _Reciver = ShareAlgorithmBuilder.NewBuilder()
                       .SetShareClientSpec(connection.ClientSpec)
                       .SetShareAlgorithmManager(manager)
                       .SetConnectEndoPoint(connection.RemoteEndPoint)
                       .BuildRecieve(connection.LocalEndPoint);
            _Reciver.ShareAlgorithmClosed += Reciver_ShareAlgorithmClosed;

            _PictureArea           = area;
            _Closing               = closed;
            _ReciverTimer.Interval = interval;
            _ReciverTimer.Elapsed += PaintPicture;
        }
Beispiel #2
0
        public void TestMethod1()
        {
            var manager = new MockClientManager();
            var socket  = new MockClientSocket();

            var img = new Bitmap("test1.png");

            using var ms = new MemoryStream();
            img.Save(ms, ImageFormat.Png);
            var sendByte = ms.GetBuffer();

            var sender = ShareAlgorithmBuilder.NewBuilder()
                         .SetShareAlgorithmManager(manager)
                         .SetSocket(socket)
                         .BuildSend(new IPEndPoint(0, 0));

            sender.Send(sendByte);

            var Receiver = ShareAlgorithmBuilder.NewBuilder()
                           .SetShareAlgorithmManager(manager)
                           .SetSocket(socket)
                           .BuildRecieve(new IPEndPoint(0, 0));

            byte[] recieveData = null;
            var    task        = Receiver.RecieveAsync((data) => recieveData = data);

            while (!task.IsCompleted)
            {
                Thread.Yield();
            }

            var size1 = manager.SendDataSize[0];
            var size2 = manager.RecieveDataSize[0];

            Assert.AreEqual(size1, size2);

            Assert.AreEqual(sendByte.Length, recieveData.Length);

            for (int i = 0; i < sendByte.Length; i++)
            {
                Assert.AreEqual(sendByte[i], recieveData[i]);
            }
        }
        public DisplayImageSendAlgorithm(Connection connection,
                                         IShareAlgorithmManager manager,
                                         DisplayImageCaputure caputure,
                                         int interval,
                                         ImageFormat format,
                                         Action closed)
        {
            _Sender = ShareAlgorithmBuilder.NewBuilder()
                      .SetShareClientSpec(connection.ClientSpec)
                      .SetShareAlgorithmManager(manager)
                      .SetLocalEndoPoint(connection.LocalEndPoint)
                      .BuildSend(connection.RemoteEndPoint);
            _Sender.ShareAlgorithmClosed += Sender_ShareAlgorithmClosed;

            _Caputure = caputure;
            _Format   = format;
            _Closing  = closed;

            _SenderTimer.Interval = interval;
            _SenderTimer.Elapsed += Send;
        }