4D Internet Commands v16

TCP_Open

Inicio

 
4D Internet Commands v16
TCP_Open

TCP_Open 


 

TCP_Open ( nomServidor ; puertoRemoto ; tcp_ID ; paramSesion ) -> resultado 
Parámetro Tipo   Descripción
nomServidor  Cadena in Nombre o dirección IP del servidor
puertoRemoto  Entero in Puerto remoto al cual conectarse (0=indiferente)
tcp_ID  Entero largo in Referencia de la sesión TCP abierta
paramSesion  Entero in Parámetros de la sesión TCP 0 = Síncrono (Valor por defecto) 1 = Asíncrono 2 = Modo SSL síncrono, 3 = Modo SSL Asíncrono
resultado  Entero in Código de error

El comando TCP_Open abre una conexión TCP de salida a un dominio.

TCP_Open establece una conexión con nomServidor, en el puerto referenciado por puertoRemoto (si este parámetro es diferente de 0). Un valor entero largo se devuelve en tcp_ID, el cual será utilizado por todas las  llamadas TCP posteriores que hagan referencia a la sesión. Por defecto, una sesión abierta por TCP_Open tiene un timeout de 30 segundos si no se reciben datos por la sesión identificada por el parámetro tcp_ID. El valor del timeout por defecto puede cambiarse utilizando el comando IT_SetTimeOut.

nomServidor es el nombre del servidor o la dirección IP de la máquina con la cual usted abre una conexión.

puertoRemoto indica que el puerto TCP de la máquina indicada por nomServidor, con la cual desea establecer una conexión.

Nota: después de una llamada a TCP_Open (o TCP_Listen), puertoRemoto puede devolver un valor negativo si el valor pasado en este parámetro es superior a 32767. Esto no va a perturbar la conexión. Para solucionar este problema, puede utilizar una variable intermedia:

 $v_ RemotePort:=v_ RemotePort
 $err:=TCP_Open(v_ RemoteHostIPAdr;0;v_ SessionID)

tcp_ID devuelve la referencia de la sesión abierta. Esta referencia será utilizada por todos los comandos TCP posteriores ejecutados en la sesión.

El parámetro opcional paramSesion da al usuario la posibilidad de elegir la configuración de la sesión TCP. Tenga en cuenta que estos valores se aplican a cada comando TCP llamado durante la sesión. El valor por defecto es 0 (Síncrono, no SSL).

SSL (Secured Socket Layer) es un protocolo que permite establecer comunicaciones TCP seguras (consulte la documentación de 4D para obtener más información y requisitos de instalación).

Cualquier conexión TCP abierto utilizando el comando TCP_Open debe estar cerrada más adelante mediante el comando TCP_Close.

En modo asíncrono, los comandos Internet de 4D devuelven el control al motor 4D inmediatamente después de su ejecución, sin esperar el final del proceso de conexión (sin esperar a que la conexión con el servidor remoto se establezca). El modo asíncrono es útil para las personas que no quieren que todos los comandos TCP utilicen tiempo de 4D.

En modo síncrono, los comandos Internet de 4D van al motor 4D (a otros procesos 4D) sólo cuando el proceso de conexión termina (con éxito o no).

  • 0 = Modo Síncrono (modo por defecto, ejecuta como las versiones anteriores de 4D Internet Commands)
  • 1 = Modo asíncrono
  • 2 = SSL en uso, Síncrono. Todos los comandos TCP utilizando la referencia a esta sesión TCP (tcp_ID) se ejecutan en modo síncrono y utilizan el protocolo SSL.
  • 3 = SSL en uso, Asíncrono. Todos los comandos TCP utilizando la referencia a esta sesión TCP (tcp_ID) se ejecutan en modo asíncrono y utilizan el protocolo SSL.

Nota: el error 10089 puede ser devuelto al pasar 2 o 3, si no se puede abrir una conexión SSL (librería SLI no encontrada en la carpeta 4D Extensions).

Ejemplo  

Usted quiere conectarse a un sitio web utilizando Https; verifique que la librería SLI esté correctamente instalada y abra la conexión en el puerto 443:

 $vError:=TCP_Open(hostName;443;tcp_ID;2)
 ...
 $vError:=TCP_Close(tcp_ID) `No se olvide de cerrar la sesión



Ver también 

IT_SetTimeOut

 
PROPIEDADES 

Producto: 4D Internet Commands
Tema: IC TCP/IP
Número 88933

 
HISTORIA 

Modificado: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)