4D v13.2TCP_Listen |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.2
TCP_Listen
|
TCP_Listen ( endereçoLocal ; portaLocal ; portaRemota ; timeout ; tcp_ID ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
endereçoLocal | cadeia |
![]() |
Endereço IP de escuta ou "" para escutar todos os endereços disponíveis | |||||
![]() |
Endereço IP utilizada (se passar uma variável que contém uma cadeia vazia) | |||||||
portaLocal | Inteiro |
![]() |
Número de porta local, 0 = Utilizar uma porta local vacante | |||||
![]() |
Número de porta local utilizada (se passar 0) | |||||||
portaRemota | Inteiro |
![]() |
*** Parâmetro ignorado *** | |||||
timeout | Inteiro |
![]() |
Número de segundos de espera, 0 = Não timeOut | |||||
tcp_ID | Inteiro longo |
![]() |
Referencia da sessão TCP aberta | |||||
Resultado | Inteiro |
![]() |
Código de erro | |||||
O comando TCP_Listen abre um "socket" de comunicação na porta definida pelos parâmetros endereçoLocal e portaLocal. Este comando não devolve o controle ao método de chamada de 4D até que se realize uma conexão ou tenha superado o timeout. Ainda que pode parecer que isto bloqueia a base até que se consegue a conexão, o comando é amigável com outros processos 4D em execução. Este comando divide o tempo com os outros processos 4D em execução.
Não se recomenda executar TCP_LISTEN dentro de um processo 4D particular (especialmente se não é especificado um timeout).
O parâmetro endereçoLocal contém o endereço IP local onde deve ser realizada a conexão de entrada:
portaLocal contém o número da porta TCP a utilizar para a comunicação. Se passar zero, o comando utilizará uma porta vacante e devolverá seu número neste parâmetro.
timeout especifica o número máximo de segundos que este comando esperará para uma conexão de entrada. Um zero neste parâmetro fará que o comando espere indefinidamente por uma conexão de entrada. Utilize esta opção com precaução já que o controle não será devolvido ao processo de chamada 4D caso não seja realizada uma conexão. Nunca passe zero neste parâmetro se o banco de dados é de um só processo.
tcp_ID devolve a referencia da sessão aberta. Esta referencia será utilizada por todos os comandos TCP posteriores executados na sessão.
Qualquer conexão TCP aberta utilizando o comando TCP_Listen deve ser fechada mais a frente utilizando o 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 aberto e em modo escuta
FazerAlgo
$err:=TCP_Close(vTCPID)
End if
Produto: 4D
Tema: IC TCP/IP
Número
88932
Modificado: 4D Internet Commands 6.8.1
Apêndice B, Números de portas TCP
TCP_Open
TCP_State