diff --git a/MIT Master Server/Program.cs b/MIT Master Server/Program.cs index 580f75d..7234af7 100644 --- a/MIT Master Server/Program.cs +++ b/MIT Master Server/Program.cs @@ -18,7 +18,7 @@ namespace MIT_Master_Server class Program { static Server server; - static FileInfo file = new FileInfo(@"D:\iPad_10.2_15.1_19B74_Restore.ipsw"); + static FileInfo file = new FileInfo(@"D:\Bookmark.zip"); static int maxConcurrentTransfers = 5; static void Main(string[] args) @@ -73,7 +73,11 @@ namespace MIT_Master_Server Chunk = buffer, ChunkSize = bytesRead }); + + //Console.WriteLine($"Sent: {bytesRead}"); + packetsSent += 1; + //Console.WriteLine(packetsSent); } } @@ -88,11 +92,6 @@ namespace MIT_Master_Server { //Console.WriteLine($"Client Connected from: {(e.TcpClient.Client.RemoteEndPoint as IPEndPoint).Address}"); - await server.SendPacket(e.TcpClient, new TestPacket() - { - TestOne = 50, - TestTwo = true - }); } } } diff --git a/MOE Builder Client/Handlers/FileTransferHandler.cs b/MOE Builder Client/Handlers/FileTransferHandler.cs index cfcfa9f..8de5e75 100644 --- a/MOE Builder Client/Handlers/FileTransferHandler.cs +++ b/MOE Builder Client/Handlers/FileTransferHandler.cs @@ -2,6 +2,7 @@ using MIT_Packets.Transfer; using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Text; @@ -27,7 +28,8 @@ namespace MIT_Builder_Client.Handlers if (packet is EndFileTransferPacket) { - Console.WriteLine($"Transfer completed. Received {packetsReceived} packets."); + watch.Stop(); + Console.WriteLine($"Transfer completed. Received {packetsReceived} packets. Took {watch.Elapsed.Seconds} seconds."); fs.Flush(); fs.Close(); } @@ -35,8 +37,11 @@ namespace MIT_Builder_Client.Handlers static int packetsReceived = 0; + static Stopwatch watch = new Stopwatch(); + static void StartFileTransfer(StartFileTransferPacket packet) { + watch.Start(); fileName = packet.FileName + "-transferred"; expectedSize = packet.ExpectedSize; @@ -47,10 +52,20 @@ namespace MIT_Builder_Client.Handlers static void ReceiveChunk(SendFileChunkPacket packet) { - Console.WriteLine(packet.ChunkSize); - fs.Write(packet.Chunk, 0, packet.ChunkSize); - currentSize += packet.ChunkSize; - packetsReceived += 1; + //Console.WriteLine("Chunk length: " + packet.Chunk.Length); + //Console.WriteLine("Chunk expected size: " + packet.ChunkSize); + //if (currentSize > 0) + if (packet.ChunkSize < 0 || packet.ChunkSize > packet.Chunk.Length) + Console.WriteLine("Invalid chunk."); + else + { + fs.Write(packet.Chunk, 0, packet.ChunkSize); + currentSize += packet.ChunkSize; + packetsReceived += 1; + } + + /*if (((currentSize / expectedSize) * 100) % 25 == 0) + Console.WriteLine("Completed 25%");*/ //Console.WriteLine(currentSize); } }