Conectar v7 con V6


([N1] josemanuel) #1

Me gustaria saber si mediante funciones remotas o protocolo tpc/Ip podria conectarme entre los dos servidores.La idea es con la V7 “mandarle” a la V6 un codigo de cliente y este me devuelva sus datos.Con el ejemplo del protocolo TCP/IP ya mando al server V6 datos y este realiza todo lo que quiero, pero la v7 NO recibe nada de nada.
El ejemplo de la v7 es el siguiente:
Pedir dato(“Escribe el texto a enviar : “, cadena, Texto, OK_ACEPTADO),
if(OK_ACEPTADO)
Protocolo TCP:Ejecutar funcion cliente (ENV_REC_LINEA@TUTOR TCP, $ENV_REC_LINEA_IP@Tutor TCP.dat,LINEA(CADENA), OK_CONNECT. “aqui envio el codigo del cliente”
Luego en el servidor de la v6 realizo la siguiente operacion:
Protocolo TCP:Recibir linea -> Cliente
Set Respuesta=””
set Respuesta fEjecutarFuncionRemota(127.127.127.127, “GESTION”, “FUNCION1”,Cliente)
Protocolo TCP : Enviar linea Respuesta.

¿Es posible que el servidor de la v6 me devuelva el nombre del cliente?, ¿como lo podria hacer?.
¿Como puedo conectar los dos servidores?
Muchas gracias.


([N4] eic) #2

Hola.

Aunque los puedes comunicar mediante TCP, una alternativa sencilla es utilizar el servidor web de 6.x. Creas un proceso accesible web en 6.x, lo llamas desde V7 (como si fuera una dirección web) y desde el proceso devuelves la información que quieras, que recogerás desde V7 al llamar al proceso.

Saludos,

Fran Varona


([N1] josemanuel) #3

Perdona mi ignorancia pero estoy empezando con la v7, ¿Como podria conectarlo con tpc/IP?, porque comentas que es posible.Y ¿como lo llamo desde V7 (como si fuera una dirección web)?, que comando tengo que utilizar.

Gracias por todo.


([N2] ramiro) #4

Hola:

Usando TCP puedes conectar V6 con V7 (o al revés) sin problemas, aunque la conexión Tcp es delicada y no sería por donde yo empezaría con V7 porque cualquier depuración te va a exigir desenvolverte bien con otras partes de la herramienta…

En cualquier caso, en el origen de la comunicación debes establecer un formato bien definido para los datos a enviar (algo que te resulte fácil de interpretar al recibirlos en el otro extremo) y desde un proceso:

  • Comprobar si está iniciado el servicio Tcp e iniciarlo si no lo está.
  • Envíar los datos con el comando de enviar línea (en V7 la línea tiene un límite que creo recordar estaba sobre los 8 Kb) a través de la función cliente del protocolo Tcp

En destino debes tener un protocolo a la escucha en el mismo puerto por el que se realice el envío. Al llegar la información se dispara de forma automática el intercomunicador servidor que hace la recepción, ejecutándose el código que tengas definido (ver imagen adjunta, que te puede servir como guia). Si lo envías línea a línea recibelo de la misma manera. Una vez recibido, identifica los datos y procesalos como te convenga.

La respuesta sería lo mismo pero a la inversa (siempre se envía por la función cliente y en el otro extremo se escucha en el intercomunicador servidor)

Saludos. Ramiro

[attachment=27042,2107]




([N1] josemanuel) #5

Muchisimas gracias a los dos, lo he conseguido.


([N1] robertocofiex) #6

Hola, no consigo la conexión de v6 a un server v7.

¿Deben ponerse dos clientes en ejecución?
O puedo enviar línea desde el tcp cliente v6 al server de v7 y que este conteste?

Os rogaría un ejemplo. Gracias