Hola estoy desarollando un programa que envia archivos hacia un servidor, hasta ahi no tengo problemas ya que puedo enviar los archivos a travez de sockets, el problema lo tengo en el tiempo de envio ya que es algo grande

se que hay varios factores que influyen en esto como la velocidad de la conexion y el trafico que halla en la red en ese momento, pero quisiera saber cuales son las maneras de enviar archivos y cual puede ser la mas rapida en el envío para comenzar a investigar sobre ellas

espero puedan contestarme y desde ya un agradecimiento