# Servidor TCP hacía fuera de Velneo

**URL:** <https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731>\
**Category:** Velneo\
**Created:** [28 Abril, 2021 11:15 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731 "2021-04-28T11:15:16Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![carlos\_villora\_terce](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@carlos\_villora\_terce](https://foros.velneo.com/u/carlos_villora_terce)\
**Post date:** [28 Abril, 2021 11:15 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/1 "2021-04-28T11:15:16Z")

</div>

Estoy desarrollando una aplicación de Velneo que requiere mantener **una** conexión TCP como servidor para recibir y enviar datos hacía un software **externo** a Velneo. He logrado que arrancara y cerrara el socket viendo como su puerto estaba en uso a través de **netstat -ab**. No obstante, soy incapaz de conectarme al socket desde la propia máquina del servidor ejecutando un script de powershell.

Lo único que hace el tcp es esto.

![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/1/1496b1a9edaa0054d62f06b850f4a00a152deb7e.png)

Siendo arrancado desde el ON\_INIT\_SERVER correctamente.

![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/d/dbb1789c578d822bb2e27f2fc3364f5d4f336fd2.png)

Y el código de powershell que estoy probando en local para testear su funcionamiento es este:

$tcpConnection = New-Object System.Net.Sockets.TcpClient([IPAddress]::Loopback, 6094)  
$tcpStream = $tcpConnection.GetStream()  
$reader = New-Object System.IO.StreamReader($tcpStream)  
$writer = New-Object System.IO.StreamWriter($tcpStream)  
$writer.AutoFlush = $true

Write-Output(“Iniciado socket”);

Write-Output($reader.ReadLine())

$writer.Dispose()  
$reader.Dispose()  
$tcpStream.Dispose()  
$tcpConnection.Dispose()

¿Es posible utilizar el TCP de Velneo de esta manera con software externo o solo es posible para comunicación entre vserver y vclient?  
¿Qué otras soluciones me recomendarían en caso de que no fuera posible?

---

<div class="post-metadata">

**Author:** ![correo](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/correo/32/5689_2.png) [@correo](https://foros.velneo.com/u/correo)\
**Post date:** [29 Abril, 2021 06:54 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/2 "2021-04-29T06:54:16Z")

</div>

Hola carlos\_villora\_terce.

Aunque el protocolo TCP de Velneo nativo es bastante simple, su funcionamiento es correcto, de hecho se usa en la excelente utilidad [CIRRUS](http://heavyblade.github.io/cirrus/) para implementar un protocolo HTTP con clientes externos.

Como ves, el script powershell funciona correctamente, revísalo.

 ![imagen](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/e/edaaa532e624ac08b97e5b6bf2ff65d367a36c29.png)

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![carlos\_villora\_terce](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@carlos\_villora\_terce](https://foros.velneo.com/u/carlos_villora_terce)\
**Post date:** [29 Abril, 2021 07:16 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/3 "2021-04-29T07:16:42Z")

</div>

Gracias, Ya sabía que el script funciona ya que lo he probado con sockets en otro lenguaje. Aún así no parecía funcionar. Solo sé que está activo y la parte de servidor del objeto TCP simplemente envía un mensaje.

¿Dónde utiliza el TCP en [Cirrus](http://heavyblade.github.io/cirrus/)?  
¿Qué podría fallar a la hora de comunicarse localmente?

Seguiré investigando, gracias.

---

<div class="post-metadata">

**Author:** ![carlos\_villora\_terce](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@carlos\_villora\_terce](https://foros.velneo.com/u/carlos_villora_terce)\
**Post date:** [29 Abril, 2021 08:49 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/4 "2021-04-29T08:49:17Z")

</div>

Vale, parece que ha sido de capaz de funcionar. Fallaba la constante del puerto. Al ponerlo dentro del objeto TCP funcionaba. Pero no al sacarlo en una constante. ¿Cómo se debería hacer eso para mantener una sola variable a través de toda la aplicación?

---

<div class="post-metadata">

**Author:** ![correo](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/correo/32/5689_2.png) [@correo](https://foros.velneo.com/u/correo)\
**Post date:** [29 Abril, 2021 09:18 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/5 "2021-04-29T09:18:22Z")

</div>

Hola carlos\_villora\_terce.

Coloca la **CONSTANTE** del puerto de escucha en la propiedad Fórmula puerto de escucha.

![imagen](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/6/669d84ae5c29a27d204c087304facce5fc136d1d.png)

Y sobre **CIRRUS** la propia entrada de la página [Cirrus.js](http://heavyblade.github.io/cirrus/) explica claramente el uso del protocolo TCP de Velneo.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![carlos\_villora\_terce](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@carlos\_villora\_terce](https://foros.velneo.com/u/carlos_villora_terce)\
**Post date:** [29 Abril, 2021 09:30 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/6 "2021-04-29T09:30:53Z")

</div>

Vale gracias, así es como intenté poner una constante y ahora que he probado de nuevo funciona. No sé muy bien que habré hecho mal, pero gracias de todos modos

---

<div class="post-metadata">

**Author:** ![carlos\_villora\_terce](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@carlos\_villora\_terce](https://foros.velneo.com/u/carlos_villora_terce)\
**Post date:** [29 Abril, 2021 10:13 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/7 "2021-04-29T10:13:18Z")

</div>

¿Permiten los Sockets TCP de Velneo utilizar SSL?

---

<div class="post-metadata">

**Author:** ![correo](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/correo/32/5689_2.png) [@correo](https://foros.velneo.com/u/correo)\
**Post date:** [29 Abril, 2021 10:30 UTC](https://foros.velneo.com/t/servidor-tcp-hacia-fuera-de-velneo/10731/8 "2021-04-29T10:30:22Z")

</div>

Hola carlos\_villora\_terce.

Creo que no, en la web [https://doc.velneo.com/velneo-cloud/tcp](https://doc.velneo.com/velneo-cloud/tcp) no se dice nada al respecto, aunque lo mejor es que hagas la consulta al departamento comercial o soporte.

Saludos  
Paco Satué
