El día 20 de febrero de 2016, 15:25, Camaleón <noela...@gmail.com> escribió: > El Fri, 19 Feb 2016 22:58:57 +0100, Maykel Franco escribió: > >> Bueno la verdad es que no sé muy bien qué asunto poner... Les cuento >> lo que necesito hacer para una determinada persona que me pide algo >> del siglo X ... Manejo de sockets tcp >> >> La idea es la siguiente, necesita que le habilite un servicio via tcp >> socket para que lance una conexión desde un cliente a ese puerto y yo >> automáticamente, mediante esa conexión le envie un archivo csv... > > Qué ganas de complicarse la vida :-) > > https://www.google.com/webhp?complete=0&hl=en&gws_rd=cr,ssl#complete=0&hl=en&q=linux+sockets+sending+files > >> Ya sé que diréis usa ssh, ftp, http, webdav... Y que se conecte el >> cliente, se autentifique y coja el archivo pero el caso es que esa >> persona no quiera otra cosa más que trabajar con sockets tcp... A mi >> no se me ocurre otra cosa que hacerlo programáticamente, por ejemplo >> con C. O en su defecto me viene a la cabeza xinetd...Con xinetd podría >> abrir un socket a un determinado puerto y hacer un script en bash por >> ejemplo, para que cuando el cliente lance la conexión a un determinado >> puerto definido por mí, yo usando esa conexión le envíe el archivo... >> >> Alguien ha tenido que hacer algo similar o alguien me puede ayudar? >> >> Gracias de antemano. > > Puedes intentarlo con xinetd, aquí tienes un ejemplo: > > http://stackoverflow.com/questions/13519933/executing-script-on-receiving-incoming-connection-with-xinetd > > Otra opción sería usando netcat (nc), échale un ojo. > > Saludos, > > -- > Camaleón >
Gracias a todos por las respuestas. La verdad no me querría complicar en programarlo, si netcat me vale sería la opción perfecta. He visto esto: http://stackoverflow.com/questions/12267905/how-to-send-a-file-using-netcat-and-then-keep-the-connection-alive Entiendo que esto podría valerme: Server side: nc -k -l 10000 < my_in_file Client side: echo "bye" | netcat 192.168.1.6 10000 > my_in_file - Pero en los ejemplos que veo es el cliente quien envía... Lo que necesito es que sera el propio servidor el que tiene el puerto abierto y el que sirve el fichero a el cliente.