Torna al Thread
...
//connessione >>>
TcpClient tcp = new TcpClient();
tcp.Connect(new IPEndPoint(ip, port));
Socket socket = tcp.Client;
//bytes è la grandezza del file da ricevere, split_size è la grandezza di un blocco
int parts = Convert.ToInt32(bytes / split_size); //blocchi
int remains = Convert.ToInt32(bytes % split_size); //"resto"
//crea lo stream di rete e lo stream per scrivere su file
NetworkStream ns = new NetworkStream(socket);
BinaryWriter bw = new BinaryWriter(new FileStream(download_path + path, FileMode.Create), Encoding.Default);
byte[] buffer = new byte[split_size];
for (int i = 0; i < parts; i++)
{
ns.Read(buffer, 0, split_size);
bw.Write(buffer, 0, split_size);
}
buffer = new byte[remains];
ns.Read(buffer, 0, remains);
bw.Write(buffer, 0, remains);
ns.Close();
bw.Close();