4D Internet Commands v16

TCP_Open

Página Inicial

 
4D Internet Commands v16
TCP_Open

TCP_Open 


 

TCP_Open ( nomeServidor ; portaRemota ; tcp_ID ; paramSessao ) -> Resultado 
Parâmetro Tipo   Descrição
nomeServidor  String in Nome ou endereço IP do servidor
portaRemota  Inteiro in Porta remota a qual conectar-se (0=indiferente)
tcp_ID  Inteiro longo in Referencia da sessão TCP aberta
paramSessao  Inteiro in Parâmetros da sessão TCP 0 = Síncrono (Valor por padrão) 1 = Assíncrono 2 = Modo SSL síncrono, 3 = Modo SSL Assíncrono
Resultado  Inteiro in Código de erro

O comando TCP_Open abre uma conexão TCP de saída a um domínio.

TCP_Open estabelece uma conexão com nomeServidor, na porta referenciada por portaRemota (se este parâmetro é diferente de 0). Um valor inteiro longo é devolvido em tcp_ID, o qual será utilizado por todas as chamadas TCP posteriores que façam referencia à sessão. Por padrão, uma sessão aberta por TCP_Open tem um timeout de 30 segundos se não se recebem dados pela sessão identificada pelo parâmetro tcp_ID. O valor do timeout por padrão pode ser mudado utilizando o comando IT_SetTimeOut.

nomeServidor é o nome do servidor ou o endereço IP da máquina com a qual você abre uma conexão.

portaRemota indica que a porta TCP da máquina indicada por nomeServidor, com a qual deseja estabelecer uma conexão.

Nota: Depois de uma chamada a TCP_Open (ou TCP_Listen), portaRemota pode devolver um valor negativo se o valor passado neste parâmetro é superior a 32767. Isto não vai perturbar a conexão. Para solucionar este problema, pode utilizar uma variável intermédia:

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

tcp_ID devolve a referencia da sessão aberta. Esta referencia será utilizada por todos os comandos TCP posteriores executados na sessão.

O parâmetro opcional paramSessao da ao usuário a possibilidade de escolher a configuração da sessão TCP. Leve em consideração que estes valores são aplicados a cada comando TCP chamado durante a sessão. O valor por padrão é 0 (Síncrono, no SSL).

SSL (Secured Socket Layer) é um protocolo que permite estabelecer comunicações TCP seguras (consulte a documentação de 4D para obter mais informação e requisitos de instalação).

Qualquer conexão TCP aberto utilizando o comando TCP_Open deve estar fechada mais a frente mediante o comando TCP_Close.

Em modo assíncrono, os comandos Internet de 4D devolvem o controle ao motor 4D imediatamente depois de sua execução, sem esperar o final do processo de conexão (sem esperar que a conexão com o servidor remoto seja estabelecida). O modo assíncrono é útil para as pessoas que não querem que todos os comandos TCP utilizem tempo de 4D.

Em modo síncrono, os comandos Internet de 4D vão ao motor 4D (a outros processos 4D) somente quando o processo de conexão termina (bem sucedido ou não).

  • 0 = Modo Síncrono (modo por padrão, executa como as versões anteriores de 4D Internet Commands)
  • 1 = Modo Assíncrono
  • 2 = SSL em uso, Síncrono. Todos os comandos TCP utilizando a referencia a esta sessão TCP (tcp_ID) se executam em modo síncrono e utilizam o protocolo SSL.
  • 3 = SSL em uso, Assíncrono. Todos os comandos TCP utilizando a referencia a esta sessão TCP (tcp_ID) se executam em modo assíncrono e utilizam o protocolo SSL.

Nota: O erro 10089 pode ser devolvido ao passar 2 ou 3, se não pode ser aberta uma conexão SSL (livraria SLI não encontrada na pasta 4D Extensions).

Exemplo  

Você quer se conectar a uma página web utilizando Https; verifique que a livraria SLI esteja corretamente instalada e abra a conexão na porta 443:

 $vError:=TCP_Open(hostName;443;tcp_ID;2)
 ...
 $vError:=TCP_Close(tcp_ID) `Não se esqueça de fechar a sessão



Ver também 

IT_SetTimeOut

 
PROPRIEDADES 

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

 
HISTÓRIA 

Modificado: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)