Beispiel #1
0
        internal void SetPeticionDeDescargaRecibida(DescargaChangedEventArgs e)
        {
            if (TextBoxInfoEstadoDescarga.CheckAccess())
            {
                try
                {
                    DirectoryInfo        directorio = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\MisArchivosCompartidos_P2P");
                    System.IO.FileInfo[] ficheros   = directorio.GetFiles(e.Packet.nombreArchivo);
                    System.IO.Stream     stream     = ficheros[0].OpenRead();

                    if (stream != null)
                    {
                        e.Packet.stream  = stream;
                        e.Packet.comando = "_DESCARGA_";

                        if (EnviandoDescarga != null)
                        {
                            EnviandoDescarga(this, new DescargaChangedEventArgs(e.Packet));
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
            else
            {
                TextBoxInfoEstadoDescarga.Dispatcher.Invoke(DispatcherPriority.Normal, new _SetPeticionDeDescargaRecibidaHandler(SetPeticionDeDescargaRecibida), e);
            }
        }
Beispiel #2
0
        internal void SetDescarga(DescargaChangedEventArgs e)
        {
            if (TextBoxInfoEstadoDescarga.CheckAccess())
            {
                Stream        stream     = null;
                DirectoryInfo directorio = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\MisArchivosCompartidos_P2P");
                string        path       = null;

                try
                {
                    if (directorio.Exists)
                    {
                        path = directorio.ToString() + @"\" + e.Packet.nombreArchivo;

                        int cont = 0;
                        while (File.Exists(path))
                        {
                            cont++;
                            path = directorio.ToString() + @"\" + "copia (" + cont + ") - " + e.Packet.nombreArchivo;
                        }
                    }
                    else
                    {
                        string directorioNuevo = System.IO.Path.Combine(directorio.ToString().Replace(@"\MisArchivosCompartidos_P2P", ""), "MisArchivosCompartidos_P2P");

                        System.IO.Directory.CreateDirectory(directorioNuevo);

                        path = directorioNuevo + @"\" + e.Packet.nombreArchivo;

                        int cont = 0;
                        while (File.Exists(e.Packet.nombreArchivo))
                        {
                            cont++;
                            path = directorioNuevo + @"\" + "copia (" + cont + ") - " + e.Packet.nombreArchivo;
                        }
                    }

                    stream = new FileStream(path, FileMode.Create, FileAccess.Write);
                    AyudanteStream.CopiarStream(e.Packet.stream, stream);

                    ActualizarTextboxInfoEstadoDescarga(String.Format("Archivo '{0}' guardado en MisArchivosCompartidos_P2P", e.Packet.nombreArchivo));
                    ActualizarTextboxInfoEstadoDescarga("Descarga completada con éxito.\n");
                }
                catch (Exception)
                {
                }
                finally
                {
                    if (stream != null)
                    {
                        stream.Close();
                    }
                }
            }
            else
            {
                TextBoxInfoEstadoDescarga.Dispatcher.Invoke(DispatcherPriority.Normal, new _SetDescargaRecibidaHandler(SetDescarga), e);
            }
        }
Beispiel #3
0
 internal void ActualizarTextboxInfoEstadoDescarga(string mensaje)
 {
     if (TextBoxInfoEstadoDescarga.CheckAccess())
     {
         TextBoxInfoEstadoDescarga.Text += mensaje + "\n";
         TextBoxInfoEstadoDescarga.ScrollToEnd();
     }
     else
     {
         TextBoxInfoEstadoDescarga.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new _ActualizarTextboxInfoEstadoDescargaHandler(ActualizarTextboxInfoEstadoDescarga), mensaje);
     }
 }
Beispiel #4
0
        internal void SetMensajeDeBusquedaRecibido(DescargaChangedEventArgs e)
        {
            if (TextBoxInfoEstadoDescarga.CheckAccess())
            {
                try
                {
                    DirectoryInfo directorio = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\MisArchivosCompartidos_P2P");
                    string        path       = null;

                    if (directorio.Exists)
                    {
                        path = directorio.ToString();
                    }
                    else
                    {
                        string directorioNuevo = System.IO.Path.Combine(directorio.ToString().Replace(@"\MisArchivosCompartidos_P2P", ""), "MisArchivosCompartidos_P2P");
                        System.IO.Directory.CreateDirectory(directorioNuevo);
                        path = directorioNuevo;
                    }

                    DirectoryInfo        directorioBusqueda = new DirectoryInfo(path);
                    System.IO.FileInfo[] ficheros           = directorioBusqueda.GetFiles("*" + e.Packet.nombreArchivo + "*.*");

                    foreach (System.IO.FileInfo f in ficheros)
                    {
                        e.Packet.comando       = "_RESPUESTA_BUSQUEDA_";
                        e.Packet.nombreArchivo = f.Name;
                        e.Packet.tamanio       = f.Length;

                        if (EnviandoBusqueda != null)
                        {
                            EnviandoBusqueda(this, new DescargaChangedEventArgs(e.Packet));
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
            else
            {
                TextBoxInfoEstadoDescarga.Dispatcher.Invoke(DispatcherPriority.Normal, new _SetMensajeDeBusquedaRecibidoHandler(SetMensajeDeBusquedaRecibido), e);
            }
        }
Beispiel #5
0
        internal void SetRespuestaABusqueda(DescargaChangedEventArgs e)
        {
            if (TextBoxInfoEstadoDescarga.CheckAccess())
            {
                try
                {
                    double tamFich = e.Packet.tamanio;
                    string strTam  = " Bytes";

                    if (tamFich >= 1024)
                    {
                        tamFich = ConvertirBytesAKiloMegaOGigaBytes((long)tamFich);
                        strTam  = " KB";
                    }
                    if (tamFich >= 1024)
                    {
                        tamFich = ConvertirBytesAKiloMegaOGigaBytes((long)tamFich);
                        strTam  = " MB";
                    }
                    if (tamFich >= 1024)
                    {
                        tamFich = ConvertirBytesAKiloMegaOGigaBytes((long)tamFich);
                        strTam  = " GB";
                    }

                    strTam = tamFich.ToString("0.00") + strTam;

                    ActualizarListBoxBusquedas(String.Format(e.Packet.nombreArchivo + strTam.PadLeft(15, '~') + e.Packet.nombreNodoEmisor.PadLeft(15, '~')));
                }
                catch (Exception)
                {
                }
            }
            else
            {
                TextBoxInfoEstadoDescarga.Dispatcher.Invoke(DispatcherPriority.Normal, new _SetRespuestaAlMensajeDeBusquedaRecibidoHandler(SetRespuestaABusqueda), e);
            }
        }