Pass It To Me

Transferencia de ficheros por red


Contenido


1. Bienvenid@

    Pass It To Me fue creado por CRZ Labs, y es un emisor o receptor para ficheros. Tratando de reemplazar las unidades de almacenamiento.
    La idea comienza con el siguiente problema: "Tengo que pasar el hentai, urgentemente, y no tengo un pendrive".



2. Sobre el programa

    Pass It To Me fue programado con la idea de realizar transferencias de ficheros a traves de una red LAN sin tener que recurri a una unidad de almacenamiento. Algunas caracteristicas son:

    • Facil de usar
    • Envio de uno o varios archivos (cola de ficheros)
    • Control del receptor (Abrir y/o eliminar fichero remoto o local)


      Primero entendamos su funcionamiento.
      Tanto el cliente como el servidor se comunican usando dos puertos distintos tipo TCP/IP.
      Los puertos son los siguientes:
      • 21110: Se utiliza para el envio y/o recepcion de archivos.
      • 21111: Se utiiza para las comunicaciones sobre los archivos.
      Ahora entendamos lo que pasa antes de que se envie uno o varios archivos.
        Definiciones:
        • [S>C] Servidor envia a Cliente
        • [C>S] Cliente envia a Servidor
        • Paquete: Informacion en texto claro enviada desde Cliente o Servidor.

        Al enviar solo un archivo.
        El servidor ya selecciono un archivo, este esta seleccionado y a clicado en "Enviar".
      • 1) [S>C] Envia el paquete [PRESEND].
        • El cliente recibe el paquete y envia una respuesta.
      • 2) [C>S] Envia el paquete [READY]
        • El servidor sabe que el cliente esta listo para recibir el archivo, entonces se envia la informacion del archivo.
      • 3) [S>C] Envia el paquete [INFO]>C:\Users\CRZ Labs\Links.txt|.txt|1028|CRZ Labs
        • El cliente recibe el paquete y lo secciona separando con "|"
            C:\Users\CRZ Labs\Links.txt|.txt|1028|CRZ Labs
            • C:\Users\CRZ Labs\Links.txt: Indica la ruta del servidor en donde esta ubicado el archivo.
            • .txt: Indica la extension del archivo.
            • 1028: Indica el tamaƱo en bytes.
            • CRZ Labs: Indica el nombre de usuario que envia.

          Al obtener los valores, muestra un mensaje preguntando si desea aceptar el fichero.
            Si lo acepta. Inicia el thread de recibo.
            Si no, se envia [REJECTED]. El servidor mostrara el mensaje de que se ha rechazado y preguntara si desea realizar un reenvio.
      • 4) [S>C] Envia el archivo en un arreglo de bytes serializado al puerto con el thread escuchando.
        • El cliente lo recibe y un FileStream va guardando el archivo en la ubicacion por defecto (DefaultSavePath & "\" & fileName. fileName = IO.Path.GetFileName(fileInfo(0)). fileInfo() = "C:\Users\CRZ Labs\Links.txt|.txt|1028|CRZ Labs".Split("|"))
      • 5) [C>S] Envia el paquete [OKAY]
        • El servidor recibe una respuesta indicando que la transferencia fue un exito. De no ser asi, se envia [ERROR]>mensaje_de_error. Y se pregunta si desea un reenvio.

        En el caso de varios archivos
        El servidor selecciono varios archivos y ha dado clic en "Enviar todo/s"
      • 1) [S>C] Envia el paquete [MULTI]
        • El cliente sabe que recibira varios archivos, por lo que no mostrara un mensaje por cada fichero entrante.
      • 2) [C>S] Envia el paquete [MULTIREADY]
        • El servidor sabe que el cliente esta listo para el recibo de cada fichero por separado.
      • 3) [S>C] Por cada fichero, envia las peticiones al cliente, y el cliente responde.
        • Esto es un bucle por cada archivo y se repiten los paquetes anteriores por cada archivo.
          El bucle va enviando las peticiones y va analizando las respuestas. Y asi hasta finalizar con los envios.
      • 4) [S>C] Al recibir el ultimo [READY] se envia [MULTIEND]
        • El cliente sabe que no hay mas ficheros, entonces vuelve a su estado original (Un archivo por vez)

        Otros paquetes
      • Paquete [OPEN]
        • El fichero seleccionado en Servidor, es el indice (numero) que se envia con el paquete [OPEN]>2 (por ejemplo, el segundo item (o el tercero. comenzando desde 0))
          El cliente lo recibe y pregunta si desea iniciar la accion que el servidor esta realizando.
      • Paquete [DELETE]
        • Misma operacion que [OPEN]. Solo que ahora se realizara la eliminacion del fichero.
          El cliente lo recibe y pregunta si desea iniciar la accion que el servidor esta realizando.
      • Paquete [BYE]
        • Cliente o Servidor pueden enviar este paquete, pero solo uno puede leerlo.
          Este indica que lado a realizado una desconexion.
          El que recibe este paquete, muestra que la otra parte se ha desconectado.



3. Confiabilidad



4. Como usarlo

    PassItToMe es tan facil de usar, que hacer esto casi no tiene sentido.
    Primero veamos las opciones basicas.

      Al iniciar
        Al iniciar, se iniciara una ventana con dos botones, estos indican que funcion queres realizar en el computador. Emisor o Receptor.
      • Emisor: El Servidor que enviara archivos al Cliente Receptor
      • Receptor: El Cliente que recibira archivos del Servidor Emisor
      • Das clic en alguno de los dos, e iniciara el programa indicado para la opcion elegida.
        • TakeItFromMe.exe: Es el servidor emisor.
        • GiveItToMe.exe: Es el cliente receptor.
      Al iniciar GiveItToMe (Cliente Receptor)
        Se iniciara la ventana de Firewall de Windows, es obvio, pues necesita abrir los puertos 21110 para la recepcion de archivo y el puerto 21111 para la recepcion/emision de paquetes.
        Ahora se debe iniciar TakeItFromMe (Servidor Emisor)
      Al iniciar TakeItFromMe (Serviror Emisor)
        Se iniciara la ventana de Firewall de Windows, es obvio, pues necesita abrir los puertos 21110 para el envio de archivo y el puerto 21111 para la recepcion/emision de paquetes.
        Ahora debemos agregar los archivos para transferir. Agregando archivos
          Al dar clic en el boton "Agregar" se iniciara la ventana para seleccionar archivos, puedes seleccionar uno o mas de uno.
          Luego das clic en Abrir y se agregaran a la lista.
        Enviando un archivo
          Para enviar solo un archivo, este debera estar seleccionado en la lista.
          Luego das clic en "Enviar" (Enviar no Enviar todo/s)
          El cliente mostrara un mensaje de confirmacion. De aceptar, comenzara la transferencia. De no aceptar, se podra realizar un reenvio.
        Enviando varios archivos
          Para enviar varios archivos, estos deben estar cargados en la lista. Y deben ser mas de dos.
          Luego das clic en "Enviar todo/s".
          El cliente no mostrara confirmacion, comenzaran a transferirse automaticamente hasta el ultimo de la lista.



5. Contacto

    Si tienes preguntas, dudas, problemas, reclamos o lo que sea, contactanos!




Sobre privacidad
    PassItToMe no recopilan ni envia informacion.


Ultima modificacion: 09/01/2022
Este documento puede no contener informacion actualizada sobre las nuevas funciones y esta sujeto a cambios sin previo aviso.