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; }
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; }