[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Servicio tcp socket



El día 20 de febrero de 2016, 15:25, Camaleón <noelamac@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.


Reply to: