# Envio fichero por TCP

**URL:** <https://foros.velneo.com/t/envio-fichero-por-tcp/8307>\
**Category:** Velneo\
**Created:** [14 Septiembre, 2015 18:04 UTC](https://foros.velneo.com/t/envio-fichero-por-tcp/8307 "2015-09-14T18:04:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![programador](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/programador/32/5498_2.png) [@programador](https://foros.velneo.com/u/programador)\
**Post date:** [14 Septiembre, 2015 18:04 UTC](https://foros.velneo.com/t/envio-fichero-por-tcp/8307/1 "2015-09-14T18:04:45Z")

</div>

Tenemos desarrollada un ERP que se comunica con tablets, webs, etc., hay un cliente que ha desarrollado una aplicación propia para iPad, hasta ahora todo ok, pero necesitamos que nos envie un fichero y no lo conseguimos, nos ha proporcionado el código utilizado pero no vemos el problema, me escribe lo siguiente:

El código de Node.js es el que yo uso, lo he comentado para que quede más claro. El de Python, realmente es el que tienen en la documentación, por eso no he puesto comentarios.

0000/xxx… == PUERTO/IP

Node.js  
// Modulos instalables mediante npm  
var net = require(‘net’);  
var fs = require(‘fs’);  
var offsetBuffer = require(‘offset-buffer’);  
// Tamaño del fichero en bytes  
var stats = fs.statSync(’./prueba.ped’);  
var size = stats.size;  
// Tamaño del fichero en un buffer de 8 bits Big Endian 64bits  
var sizeBuff = new offsetBuffer(8);  
sizeBuff.writeUInt64BE(size);  
// Buffer del fichero a enviar  
var fileBuff = fs.readFileSync(’./prueba.ped’);  
// Conexión al servidor mediante TCP  
server = new net.Socket();  
server.connect(0000, ‘xxx.xxx.xxx.xxx’, function() {  
// Se envia al servidor la concatenación de ambos buffers  
server.write(sizeBuff + fileBuff);  
// Se termina la ejecución  
process.exit();  
});

Python - [http://velneo.es/info\_v7\_717\_es/velneo\_vdevelop\_v7/proyectos\_objetos\_y\_editores/proceso/comandos/comunicacion/protocolo\_tcp/protocolo\_tcp\_recibir\_fichero/](http://velneo.es/info_v7_717_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/proceso/comandos/comunicacion/protocolo_tcp/protocolo_tcp_recibir_fichero/)  
#!/usr/bin/python  
import socket  
import sys  
from struct import \*  
s = socket.socket(socket.AF\_INET, socket.SOCK\_STREAM)  
s.connect( ( ‘xxx.xxx.xxx.xxx’, 0000 ) )  
sendfile = open(‘dialgra.ped’, ‘rb’)  
data = sendfile.read()  
a = pack("\>Q", 144)  
s.sendall(a+data)  
s.close()

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [14 Septiembre, 2015 18:49 UTC](https://foros.velneo.com/t/envio-fichero-por-tcp/8307/2 "2015-09-14T18:49:14Z")

</div>

Faltaría la parte que recibe, dando por hecho que la que envía está correcta.

En Velneo tendrías que usar Recibir buffer, no usar Recibir fichero, ya que supongo que hará sus cosas internamente y no te servirá con otro lenguaje.

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [22 Septiembre, 2015 11:48 UTC](https://foros.velneo.com/t/envio-fichero-por-tcp/8307/3 "2015-09-22T11:48:49Z")

</div>

@GSI podrías comentar si los has solucionado. Supongo que le servirá a los que vengan detrás.
