4D v13.2TCP_Listen |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.2
TCP_Listen
|
TCP_Listen ( direccionLocal ; puertoLocal ; puertoRemoto ; timeout ; tcp_ID ) -> resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
direccionLocal | Cadena |
![]() |
Dirección IP de escucha o "" para escuchar todas las direcciones disponibles | |||||
![]() |
Dirección IP utilizada (si se pasa una variable que contiene una cadena vacía) | |||||||
puertoLocal | Entero |
![]() |
Número de puerto local, 0 = Utilizar un puerto local vacante | |||||
![]() |
Número de puerto local utilizado (si se pasa 0) | |||||||
puertoRemoto | Entero |
![]() |
*** Parámetro ignorado *** | |||||
timeout | Entero |
![]() |
Número de segundos de espera, 0 = No timeOut | |||||
tcp_ID | Entero largo |
![]() |
Referencia de la sesión TCP abierta | |||||
resultado | Entero |
![]() |
Código de error | |||||
El comando TCP_Listen abre un "socket" de comunicación en el puerto definido por los parámetros direccionLocal 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 direccionLocal contiene la dirección IP local donde se debe efectuar la conexión de entrada:
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.
C_LONGINT(vTCPID)
C_INTEGER(vStatus)
$err:=TCP_Listen("";0;0;30;vTCPID)
$err:=TCP_State(vTCPID;vStatus)
If(vStatus=2) `socket abierto y en escucha
HacerAlgo
$err:=TCP_Close(vTCPID)
End if
Producto: 4D
Tema: IC TCP/IP
Número
88932
Lista alfabética de los comandos
Modificado: 4D Internet Commands 6.8.1
Anexo B: Números de puertos TCP
TCP_Open
TCP_State