4D Internet Commands v16

TCP_Listen

Página Inicial

 
4D Internet Commands v16
TCP_Listen

TCP_Listen 


 

TCP_Listen ( endereçoIP ; portaRemota ; portaLocal ; timeout ; tcp_ID ) -> Resultado 
Parâmetro Tipo   Descrição
endereçoIP  String in Endereço IP de escuta ou "" para escutar todos os endereços disponíveis
in Endereço IP utilizada (se passar uma variável que contém uma cadeia vazia)
portaRemota  Inteiro in *** Parâmetro ignorado ***
portaLocal  Inteiro in Número de porta local, 0 = Utilizar uma porta local vacante
in Número de porta local utilizada (se passar 0)
timeout  Inteiro in Número de segundos de espera, 0 = Não timeOut
tcp_ID  Inteiro longo in Referencia da sessão TCP aberta
Resultado  Inteiro in Código de erro

O comando TCP_Listen abre um "socket" de comunicação na porta definida pelos parâmetros endereçoIP 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çoIP contém o endereço IP utilizado para a conexão:

  • Se passar uma cadeia vazia neste parâmetro, o comando escuta todas os endereços disponíveis na máquina.
  • Se passar uma variável que contém uma cadeia vazia, o comando devolverá no parâmetro o endereço IP distante utilizado para a conexão.

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.

Exemplo  

 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



Ver também 

Apêndice B, Números de portas TCP
TCP_Open
TCP_State

 
PROPRIEDADES 

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

 
HISTÓRIA 

Modificado: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)