4D Internet Commands v16

TCP_Listen

Inicio

 
4D Internet Commands v16
TCP_Listen

TCP_Listen 


 

TCP_Listen ( direccionIP ; puertoRemoto ; puertoLocal ; timeout ; tcp_ID ) -> resultado 
Parámetro Tipo   Descripción
direccionIP  Cadena in Dirección IP local de escucha o "" para escuchar todas las direcciones disponibles
in Dirección IP distante utilizada (si se pasa una variable que contiene una cadena vacía)
puertoRemoto  Entero in *** Parámetro ignorado ***
puertoLocal  Entero in Número de puerto local, 0 = Utilizar un puerto local vacante
in Número de puerto local utilizado (si se pasa 0)
timeout  Entero in Número de segundos de espera, 0 = No timeOut
tcp_ID  Entero largo in Referencia de la sesión TCP abierta
resultado  Entero in Código de error

El comando TCP_Listen abre un "socket" de comunicación en el puerto definido por los parámetros direccionIP y puertoLocal. Este comando no devuelve el control al método de llamada de 4D hasta que se realice una conexión o se haya superado el timeout. Aunque puede parecer que esto bloquea la base hasta que se logra la conexión, el comando es amigable con otros procesos 4D en ejecución. Este comando divide el tiempo con los otros procesos 4D en ejecución.

No se recomienda ejecutar TCP_LISTEN dentro de un proceso 4D particular (especialmente si no se especifica un timeout).

El parámetro direccionIP contiene la dirección IP utilizada para la conexión:

  • Si pasa una cadena vacía en este parámetro, el comando escucha todas las direcciones disponibles en la máquina.
  • Si pasa una variable que contiene una cadena vacía, el comando devolverá en el parámetro la dirección IP distante utilizada para la conexión.

puertoLocal contiene el número del puerto TCP a utilizar para la comunicación. Si pasa cero, el comando utilizará un puerto vacante y devolverá su número en este parámetro.

timeout especifica el número máximo de segundos que este comando esperará para una conexión entrante. Un cero en este parámetro hará que el comando espere indefinidamente por una conexión entrante. Utilice esta opción con precaución ya que el control no se devolverá al proceso de llamada 4D si no se realiza una conexión. Nunca pase cero en este parámetro si la base es de un solo proceso.

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.

Cualquier conexión TCP abierta utilizando el comando TCP_Listen debe cerrarse más adelante utilizando el comando TCP_Close.

Ejemplo  

 C_LONGINT(vTCPID)
 C_LONGINT(vStatus)
 $err:=TCP_Listen("";0;0;30;vTCPID)
 $err:=TCP_State(vTCPID;vStatus)
 If(vStatus=2) `El socket está abierto y escucha
    Hacercualquiercosa
    $err:=TCP_Close(vTCPID)
 End if
 
 



Ver también 

Anexo B: Números de puertos TCP
TCP_Open
TCP_State

 
PROPIEDADES 

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

 
HISTORIA 

Modificado: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)